在Vim的命令模式下导航

时间:2011-08-03 02:15:39

标签: vim text-editor vi

我是很长时间的emacs用户学习Vim。 Emacs让我可以使用与任何其他缓冲区相同的导航键盘快捷键在迷你缓冲区(我发布C-x C-s等命令)中导航。例如,即使在迷你缓冲区中,我也可以使用C-f向前导航一个角色。我也可以使用箭头键,但它们太远了。

是否有任何键盘快捷键可以在Vim的命令模式(:)中导航,而不使用箭头键 - 相当于emacs C-f,C-b?感谢。

4 个答案:

答案 0 :(得分:71)

添加到Greg Hewgill的答案中,您可以使用q:打开命令行窗口,您可以在其中拥有任何Vim编辑功能。

答案 1 :(得分:34)

来自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.  

答案 2 :(得分:21)

我的.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>

答案 3 :(得分:10)

使用默认键绑定,vim不提供命令行编辑的非箭头键导航。但是,请参阅:help cmdline-editing以获取有关如何使用:cnoremap命令设置备用密钥绑定的示例。