插入模式下可用的操作

时间:2010-09-10 11:03:21

标签: vim

受此answer的启发,我想询问插入模式下可用的其他有用的移动/编辑命令。例如,可以在不切换到正常模式的情况下访问行首,行尾或其他此类命令吗?仍然是vim的新手所以我习惯在输入几个字符之后跳来跳去......在我输入之前,vim让我思考;)。

3 个答案:

答案 0 :(得分:3)

先试用:h Insert-Mode

然后,您可以查看:imap以获得vim会话中定义的插入模式映射列表。

:h i_ CTRL + D 还会列出在insert-mode中活动的所有已记录的键绑定。 (使用c_作为命令模式)

答案 1 :(得分:3)

除了Luc所说的,请尝试:h insert-index。这将使您进入插入模式键部分的索引帮助页面。

索引页面非常有用,因为它在一个页面上列出了所有默认键绑定和所有:ex命令。

还有:h quickref页面,它更详细地介绍了更常见的键,以及您可以使用:set命令更改的所有选项。

答案 2 :(得分:1)

如果您输入Ctrl-o,则可以使用普通模式命令,之后您将被置于插入模式。

我发现其他一些有用的东西是Ctrl-p和Ctrl-n,它们会根据您之前键入的内容自动完成。非常方便,但它只是基于字符串,因此不像IDE那样“聪明”,可以查找对象或变量名称的方法,例如。

最后,正如其他人所提到的,:imap对于定义插入模式映射非常有用。例如,如果您使用Java编程,则可以执行以下操作:imap $ sop System.out.println(。然后,无论何时键入'$ sop',它都将替换为实际的方法调用。您还可以使用任意命令序列,就像你要输入它们一样。例如:

:imap $top <ESC>ggO

(字面上输入“<ESC>”) 这会使您处于正常模式[<ESC>],转到页面顶部[gg],并将您置于当前位置[O]上方的新行上的插入模式。

作为一种离别的想法,当你开始使用VIM时,很容易保持在插入模式下。但是,我已经阅读并开始学习自己,通过进行小编辑并使用工具重复操作,搜索和搜索/替换,可以提高效率。

我最喜欢的VIM命令:  * =搜索光标下所有出现的单词。光标不必位于单词的开头。  c =更改...采用定位命令。例如,cfn删除当前行的所有文本,从当前位置到字母'n'的第一个匹配项,并使您进入插入模式。 cw将当前单词从光标更改为单词的结尾。还有更多。

d,y,p - delete,yank,put(分别是剪切,复制,粘贴)对于移动代码位非常有用。