Vim - 在命令模式下导航字符

4

我对VIM相对较新,使用它的过程非常愉快。

我遇到的一个小问题是在修改命令时,在命令模式下进行字符导航。我习惯于在常规(非vim)命令行上使用readline快捷键,但这些快捷键似乎在:命令模式下无效。

例如,使用ctrl + b向后移动一个字符会使我回到行首,或者使用alt + f向前移动一个单词会清除该行并退出命令模式。

我找到的唯一在命令模式下导航的方法是使用箭头键,但我认为你应该避免在vim中使用箭头键以实现最大效率。

:命令模式下,导航的标准方式是什么?vim用户通常在此处使用箭头键吗?是否有不同的修改命令的方法?

作为更具体的示例,我经常使用vimgrep搜索文件。我会执行以下命令:

:vimgrep /font-family/j my-project/**/*.less | cope

稍后,我想使用相同的搜索但查找不同的属性,因此我按:然后按ctrl + p访问以前的vimgrep。现在我必须使用箭头键向后导航到搜索字符串并修改它。如果我能够使用readline按单词向后导航,然后按单词删除,那将会更快。

3个回答

5
对于小的编辑操作,使用退格键和轻微地使用光标键应该就可以了。对于更大的编辑操作,建议使用命令行窗口

在命令行窗口中,命令行可以像在任何窗口中编辑文本一样进行编辑。

因此,无需在脑海中切换到readline键映射; 只需使用Vim的全部编辑功能(包括任何自定义映射)即可!
您可以通过<C-F>从命令行切换,或者在正常模式下按q:而不是:直接输入它。所有细节都可以在:help cmdline-window中找到。

哇,这个命令行窗口真是太棒了,我想这就是我要找的! - kand

2

我喜欢这个问题。长期使用vim,但在这里还比较新,所以我不能为其投票。但确实,也许非正式地说,许多vim粉丝认为,大部分时间的目标是不让手离开主键位置(手指移动,手相对静止)。

我承认,在命令模式下,我使用箭头。由于P键在小指上,我经常按错ctrl-P,并且通过快速触感向下滑动右手(在我的自然键盘上)并立即找到向上箭头来完成同样的操作更快。一旦到达那里,左右箭头也很容易找到,而无需看或延迟。此外,Ctrl-箭头允许您跳过单词。

vim的伟大之处之一就是::help命令。多年来,我轻松花费了数十个小时阅读它,并且如果我有足够的时间和工作记忆来深入了解,它可以解决95%的问题。

以下是我为:help readline找到的内容:

READLINE readline.vim ft-readline-syntax

readline库主要由BASH shell使用,该shell添加了一些命令和选项。为了突出显示这些项,您可以将以下内容添加到|vimrc|中,或在加载带有readline语法的文件之前,在命令行中输入它:

let readline_has_bash = 1

这将为 BASH(2.05a及更高版本,以及部分早期版本)添加命令突出显示。

试试吧!(我正在使用vim 7.4)


2
那个帮助页面与 readline 配置文件的语法高亮有关,与按键绑定无关。 - Martin Tournoij

1
你可以通过:help cmdline-history(向下滚动一点)和:help ex-edit-index查看默认按键绑定列表。
你可以使用cnoremap重新映射它:
cnoremap <C-b> <Left>
cnoremap <C-a> <C-b>
" .. Probably more

请注意,使用可能会导致问题,因为右侧是当前映射的操作,而使用时,右侧将始终使用本机Vim操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接