虽然老手使用Vim大多时候都在正常模式下,但如果知道几个专门用于插入模式下的快捷命令,会感觉更快捷一些。本节会介绍几个小技巧,了解一下也不错,更多命令参考:help insert-index,事实上插入模式下的自动补全功能,那个才真正给力。
在插入模式下如果希望调整行的缩进,可以返回正常模式,>或者<调整缩进,然后使用i或者a返回插入模式下,要按3次键,下面的组合键能够实现在插入模式下的缩进调整,每次调整一个shiftwidth宽度。这个尤其用在写if之类的缩进结构时候,很方便。
CTRL+D 减少缩进
CTRL+T 增加缩进
写东西的时候经常出现相邻两行的内容很想近的情况,你可以用复制粘贴功能,也可以直接一个字符一个字符地复制。
CTRL+Y 复制上一行的相同列的字符
CTRL+E 复制下一行的相同列的字符
举个实际的例子,比如一行内容是:
num1 is 数字
在这一行下方新增加一个空白行(插入模式下在行尾回车或者正常模式下按o),光标在num1的n正下方,这时候按3下,num被复制到当前位置,输入数字2后继续,空格和汉字也能够正确被一个一个地复制下来。
在插入模式下 {0-9a-z"%#*:=}能够插入剪贴板的内容,如果想临时查看各个剪贴板的内容,可以使用:reg<回车>,会显示出各个剪贴板的内容。当然输入这个命令很麻烦,做个快捷键吧,把下面这句放到你的vimrc里面,当然F3可以换成其他功能键,这样你在插入模式下就可以按F3列出所有剪贴板的当前内容,然后剪贴板名称吧,这样做的好处是粘贴完仍然在插入模式下。
imap :reg
插入模式下快速移动光标的命令不太多,除了、到行首、行尾之外,也可以以单词为单位移动,总比一个字符一个字符移动快一点。
或 光标左移一个单词
或 光标右移一个单词
默认情况下Vim在插入模式下只提供了向左删除的快捷键,用不用你自己看着办吧。
CTRL+W 删除光标左侧的单词
CTRL+U 删除光标左侧的行
阅读(1066) | 评论(0) | 转发(0) |