Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vim-在命令模式下导航字符_Vim - Fatal编程技术网

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

vim-在命令模式下导航字符,vim,Vim,对VIM来说相对较新,并且在使用它时非常愉快 我遇到的一个非常小的麻烦是,当我想修改命令时,命令模式的角色导航。我习惯在常规(非vim)命令行上使用readline快捷方式,但这些快捷方式在:命令模式下似乎不起作用 例如,使用ctrl+b返回一个字符,最终将我发送到行的开头,或者使用alt+f前进一个单词,最终清除行并退出命令模式 我发现在命令模式下导航的唯一方法是使用箭头键,但我认为您应该避免使用vim中的箭头键以获得最大效率 在:命令模式下导航的标准方式是什么?vim用户通常在这里使用箭头键

对VIM来说相对较新,并且在使用它时非常愉快

我遇到的一个非常小的麻烦是,当我想修改命令时,命令模式的角色导航。我习惯在常规(非vim)命令行上使用readline快捷方式,但这些快捷方式在
命令模式下似乎不起作用

例如,使用
ctrl+b
返回一个字符,最终将我发送到行的开头,或者使用
alt+f
前进一个单词,最终清除行并退出命令模式

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

命令模式下导航的标准方式是什么?vim用户通常在这里使用箭头键吗?是否有其他方法修改命令

作为一个更具体的例子,我一直在大量使用
vimgrep
来搜索文件。我将执行如下命令:

:vimgrep/font-family/j我的项目/***.less | cope


稍后,我将使用相同的搜索,但查找不同的属性,因此我点击
,然后点击
ctrl+p
,访问我以前的
vimgrep
。现在,我必须使用箭头键向后导航到搜索字符串并对其进行修改。如果我可以使用readline按单词向后导航,然后按单词删除,速度会快得多。

我喜欢这个问题。长期使用vim,但这里是新的,所以我不能投票支持它。但事实上,也许是非官方的,很多vim粉丝觉得大多数时候的目标是不要让你的手离开家里的排位(手指移动,手相对静止)

我承认,在命令模式下,我使用箭头。当P在我的小指上时,我会很怀念按ctrl-P键,而且我的右手向下滑动(在我的自然键盘上)并通过快速感觉找到向上箭头会更快,立即,做同样的事情。一旦我到了那里,左右箭头也很容易找到,无需查找或延迟。也可以使用Ctrl箭头按单词跳过

vim的一大优点是:帮助。多年来,我很容易花了几十个小时通读它,如果我有足够的时间和工作记忆深入其中,它就解决了我95%的问题

以下是我找到的帮助:帮助阅读:

READLINE READLINE.vim ft READLINE语法

readline库主要由bashshell使用,它添加了 相当多的命令和选项已经可用。到 同时突出显示这些项目。您可以将以下内容添加到 |vimrc |或在加载带有 readline语法:

这将为BASH(版本2.05a)中的命令添加高亮显示 和之后,和部分之前)添加


试试看!(我使用的是vim 7.4)

您可以看到默认键的列表与
:help cmdline history
(向下滚动一点)和
:help ex edit index绑定

您可以使用
cnoremap
重新映射它:

cnoremap <C-b> <Left>
cnoremap <C-a> <C-b>
" .. Probably more
cnoremap
cnoremap
”“也许更多
请注意,使用
cmap
可能会让您在这里遇到问题,因为右侧是当前映射的操作,而使用
cnoremap
右侧它将始终使用本机Vim操作。

对于小的编辑,退格和轻量使用光标键应该可以。对于更大的操作,我建议e要使用命令行窗口,请执行以下操作:

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

因此,无需在头脑中切换到readline键映射;只需使用Vim的全部编辑功能(包括任何自定义映射)


您可以通过命令行中的
进行切换,或直接输入(从正常模式)通过按
q:
而不是
。所有详细信息都可以在
:help cmdline window

中找到,该帮助页面与readline config文件的语法突出显示相关,与keybinds无关。哦,伙计,这个命令行窗口太棒了,我想这就是我要找的!
cnoremap <C-b> <Left>
cnoremap <C-a> <C-b>
" .. Probably more