45

私はonoremapvimのようなマッピングコマンドの構文を理解しようとしています。

特に、マニュアルのこの行について、次の使用に関して混乱しています<C-U>

CTRL-U(<C-U>)は、Vimが挿入する可能性のある範囲を削除するために使用されます。

誰かがこれを説明できますか?

4

2 に答える 2

65

これはコマンドの構文の一部ではなくonoremap、特定のマッピングが何をするかを説明しています。そのマッピングは次のとおりです。

onoremap <silent> F :<C-U>normal! 0f(hviw<CR>

したがって、Fオペレーターが保留中にキーが使用されると、vimはそれをコマンドの次の引数のビットに置き換えますonoremap。これは、モードコマンド:を開始するためのaで始まります。exマッピングの使用時に視覚的な選択がある場合、vimは範囲を自動的に挿入し'<,'>て、次のexコマンドが視覚的な選択に適用され、コマンドラインは次のようになります。

:'<,'>

マッピングの<C-U>inは、vimに、:を入力した後、Control+のU組み合わせを使用してコマンドラインをクリアし、自動的に挿入された範囲を削除して、コマンドラインを次のようにする必要があることを示しています。

:

次に、マッピングの残りの部分が使用されます。

Vこれは、を使用して行ごとの視覚的な選択を開始し、次にコマンドの入力を開始することで確認できます:。範囲が表示されたら、マッピング例と同じようにControl+を使用して範囲をクリアできます。U

そのマッピングを含むvimヘルプの部分は、残りの部分を説明しています。

于 2012-12-12T02:10:14.420 に答える