web-dev-qa-db-ja.com

Vimのコマンドモードでのナビゲート

私は長い間EmacsユーザーがVimを学んでいます。 Emacsを使用すると、他のバッファーと同じナビゲーションキーボードショートカットを使用して、ミニバッファー(C-x C-sなどのコマンドを発行する)内をナビゲートできます。たとえば、ミニバッファ内であっても、C-fを使用して1文字先に進むことができます。矢印キーを使用することもできますが、遠すぎます。

矢印キーを使用せずにVimのコマンドモード(:)でナビゲートするためのキーボードショートカットはありますか?emacs C-f、C-bと同等ですか?ありがとう。

55
Rohit

Greg Hewgillの答えに加えて、q:を使用してコマンドラインウィンドウを開くことができます。このウィンドウでは、Vimの編集機能を手元に用意できます。

71
Boldewyn

Vimのヘルプからのいくつか:

CTRL-B or <Home>
        cursor to beginning of command-line
CTRL-E or <End> 
        cursor to end of command-line
CTRL-H              
<BS>        Delete the character in front of the cursor (see |:fixdel| if
        your <BS> key does not do what you want).
<Del>       Delete the character under the cursor (at end of line:
        character before the cursor).
CTRL-W      Delete the |Word| before the cursor.  This depends on the
        'iskeyword' option.
CTRL-U      Remove all characters between the cursor position and
        the beginning of the line.  
34
Jeet

.vimrcにこれらがあります

cnoremap <C-a> <Home>
cnoremap <C-e> <End>
cnoremap <C-p> <Up>
cnoremap <C-n> <Down>
cnoremap <C-b> <Left>
cnoremap <C-f> <Right>
cnoremap <M-b> <S-Left>
cnoremap <M-f> <S-Right>
23
Tassos

デフォルトのキーバインディングでは、vimはコマンドライン編集の非矢印キーナビゲーションを提供しません。ただし、:help cmdline-editingコマンドを使用して代替キーバインディングを設定する方法の例については、:cnoremapを参照してください。

10
Greg Hewgill