タグ付けされた質問 「key-bindings」

キーを押したときにアクションを実行する。これらは、キーマッピングまたはマッピングとも呼ばれます。デフォルトのキー割り当て、およびキー割り当ての作成または再定義についての質問。

2
vimコマンドラインでReadlineショートカットを使用するにはどうすればよいですか?
Vimコマンドを編集するときは、Bashや他のすべてのREPLと同じショートカットを使用します:M-b単語に戻るM-Backspace、前の単語を削除M-uする、単語を大文字に変換するC-k、末尾までカットする行など:cmap。すべてではなくを使用して、いくつかのコマンドを構成できました。 これを提供するプラグインまたは設定はありますか? についてceditは知っていますが、必要なのはクイックコマンドを入力するだけであると面倒です。

1
挿入モードを終了せずにカーソルを正しいインデントレベルに移動する方法は?
たとえば、このJavaScriptコードがあります。|文字はカーソル位置を表し、それが空行です。 function a() { console.log("a"); function b() { console.log("b"); function c() { console.log("c"); } | c(); } b(); } 要求された操作の後、内容は次のようになります。 function a() { console.log("a"); function b() { console.log("b"); function c() { console.log("c"); } | c(); } b(); } 私が求めているのはマッピングコマンドです。 どうもありがとうございました! :-)

2
カーソルが既に文字列内にない場合にのみ、挿入時に自動的に閉じ「または」を追加します
でvimrc開き括弧を入力すると、閉じ括弧と中括弧を自動的に入力するマッピングを定義しましたinoremap ( ()<esc>i。 私は同じことをやってみたい"と'、しかし、カーソルが現在の文字列内にない場合にのみ、 -文字列の中のように'、おそらくアポストロフィではなく、ストリング区切り文字です。これどうやってするの?

4
この<Esc>通常モードのマッピングが起動に影響するのはなぜですか?
のノーマルモードマッピングで奇妙な問題が発生していますEsc。 escmapvimrc内容を含むファイルを作成する場合: set nocompatible set showcmd " Doesn't affect the problem: just makes it easier to see nnoremap &lt;Esc&gt; :noh&lt;CR&gt;&lt;esc&gt; そして、このvimrcを使用してvimを起動します。 vim --noplugin -u escmapvimrc その後、vimはオペレーター保留モードで起動し、cコマンドがさらに入力を待機し、空のファイルを表示し、コマンドラインがを表示し:nohます。 nnoremap行を削除すると、問題はなくなります。 すべてをデバッグしてステップスルーすると、次の出力が得られます。 Entering Debug mode. Type "cont" to continue. /[...]/escmapvimrc line 1: set nocompatible &gt;s /[...]/escmapvimrc line 2: set showcmd " Doesn't affect the …


3
キーが何にマッピングされているかを調べる方法は?
:map引数なしでコマンドを実行すると、ユーザー定義のマッピングのリストが表示されるはずですが、たとえば、Ctrl-Wを押すとCtrl-Iが発生しますが、組み込みマッピングとしてどのような機能が発生したのかわかりません:mapコマンドには表示されません。 キーの機能を調べるにはどうすればよいですか?

3
その場でaugroupを有効/無効にする方法は?
augroup私.vimrcはいくつかのautocmdを含むを作成しましたがautocommand、オンザフライで有効/無効にする必要があります。 アイデアは、F4一度押すとこれらのオートコマンドを有効にし、もう一度押すとファイルをソースしたり、を再ロードしたりすることなく無効にするマッピング(たとえば、としましょう)を作成すること.vimrcです。 どうやってやるの?

4
スペル候補をループするコマンド
私はにマップzzしましたが1z=、これはほとんどの場合素晴らしいことですが、ときどき最初の提案は正しいものではありません。 したがって、他の提案を繰り返すために繰り返しzz(または.)続けたいと思います。 zz同じ単語の2番目はのようu2z=に機能し、3番目zzは同じu3z=ように機能します。 それを行う方法に関するアイデアはありますか? 編集: @ nobe4の素晴らしい答えに基づいて、私は自分がやりたいことをやり遂げることができましたが、改善や提案がある場合に備えて、しばらくここに置いておきます。 let s:spell_position = [] let s:spell_count = 0 let s:spell_word = "" function! LoopSpell() if s:spell_position != getpos('.') || \ (s:spell_count &gt; 0 &amp;&amp; s:spell_word !~ expand("&lt;cword&gt;")) let s:spell_count = 0 let s:spell_position = getpos('.') endif if s:spell_count &gt; 0 silent execute "normal! …

2
マッピングを保存および復元する方法は?
Vim用のプラグインを開発していますが、「プラグインの実行」中にのみ使用できるマッピングを定義したいと思います。 これまでのところ、プラグインの(簡略化された)ワークフローは次のとおりです。 ユーザーがプラグインのコマンドを呼び出す このコマンドは、前処理機能を呼び出します。 function! s:PreTreatmentFunction(function, ...) " Do some pretreatment stuff " Create a mapping to call the TearDown nnoremap &lt;C-c&gt; :call TeardDown()&lt;CR&gt; " Call a function depending on the parameter passed to this one if function == "foo" call Foo() else call Bar() endif endfunction バッファの状態を変更する別の関数が呼び出されます(Foo()またはBar()前の関数の最後の行で) ユーザーはマッピングを使用してティアダウン関数を呼び出します 分解機能は、作成されたマッピングを削除します。 …

3
動きのあるマッピング
マッピング内の後続のモーションで演算子を使用する方法を理解しようとしています。例えば: nmap /c c{here we pending for a motion}/&lt;C-r&gt;"&lt;CR&gt; マップは次のことを行う必要があります。 cオペレーターをアクティブにして、次の動きを聞きます。 たとえば、t,次のコンマの前にすべてを変更するためにここに入力できます。 カーソルとコンマの間のすべてを削除する挿入モードに移動します。 削除されたテキストはパターンとして自動的に検索されます 簡単に言うと、モーションテキストが削除された後、削除されたテキストが強調表示された挿入モードのままになります。誰かがこの事件を解決するのを手伝ってくれたらとても感謝しています。 更新 答えはほとんど私が欲しいものです。だが!を押す/cwと、単語の代わりに何かを入力し、を押し&lt;Esc&gt;ます。次の出来事でも同じことをするつもりだ。ただし、presing n(次のオカレンスに移動)および.(最後のコマンドを繰り返す)の後、最後に入力したテキストを置き換えるのではなく、先頭に追加します。マッピングの主な目標は、とそれを使用しているn/Nと.繰り返しに。私は何かを見逃しましたか?

2
VimでEscキーを再マッピングする
EscキーをVimの別のキーに再マッピングすることは可能ですか?全画面表示のVMware vSphere WebクライアントコンソールウィンドウでVimを使用していて、Escキーを押して編集モードを終了すると、コンソールウィンドウの全画面モードが終了します。 RHEL YUMリポジトリのVimを使用しています。(RHEL 7.5、Vim 7.4)。

1
セミコロンの代わりにコマンドにコロンを使用する利点は何ですか?
Viは、コマンドモードで指の移動と速度を最小限に抑えます。 スワッピング;や:文字検索のrepititions以上freqently使用されるコマンドのための余分なシフトキーストロークを大幅に節約するようだが、非標準のキーレイアウトを使用する欠点があります。 :コマンドの利点は何ですか?全体的にViの効率と優雅さに比べると、私には見逃しているロジックがあるはずだと感じています。


1
挿入モードに入るにはどのようなオプションがありますか?
私は、挿入モードがどこから始まるかaというシステムがあることに気づくことなく、挿入モードに入るのが常でした。 aカーソルを行の最初の文字の後に置くとイライラすることがありましたが、それでもなお、現在のカーソル位置の後に挿入モードに入ります。 次に、を使用して行の最後A、またはを使用して現在の行の下に挿入モードに入ることができることに気付きましたo。 通常モードで挿入モードに入る方法は何ですか?それらの違いは何ですか?

2
実行時にフォントをすばやく切り替える
フォントはメニューからGVimで手動で選択できますが、手元のタスクに応じて切り替えたいフォントがいくつかあります(小さなビットマップ、大きなOTF ...など)。 vimrcで事前定義されたフォントのリストを循環するようにキーバインドを設定する方法はありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.