终于知道为什么vim这么强大了!
我使用的vimrc配置文件地址: https://digital-ldentification.googlecode.com/files/vimrc
刚学的一些技巧:
调整缩进在插入模式下如果希望调整行的缩进,可以<Esc>返回正常模式,>或者<调整缩进,然后使用i或者a返回插入模式下,要按3次键,下面的组合键能够实现在插入模式下的缩进调整,每次调整一个shiftwidth宽度。这个尤其用在写if之类的缩进结构时候,很方便。
CTRL+D 减少缩进
CTRL+T 增加缩进
复制相邻行的内容
写东西的时候经常出现相邻两行的内容很想近的情况,你可以用复制粘贴功能,也可以直接一个字符一个字符地复制。
CTRL+Y 复制上一行的相同列的字符
CTRL+E 复制下一行的相同列的字符
举个实际的例子,比如一行内容是:
num1 is 数字
在这一行下方新增加一个空白行(插入模式下在行尾回车或者正常模式下按o),光标在num1的n正下方,这时候按3下<ctrl+y>,num被复制到当前位置,输入数字2后继续<ctrl+y>,空格和汉字也能够正确被一个一个地复制下来。
粘贴剪贴板
在插入模式下<CTRL+R> {0-9a-z"%#*:=}能够插入剪贴板的内容,如果想临时查看各个剪贴板的内容,可以使用<ctrl+o>:reg<回车>,会显示出各个剪贴板的内容。当然输入这个命令很麻烦,做个快捷键吧,把下面这句放到你的vimrc里面,当然F3可以换成其他功能键,这样你在插入模式下就可以按F3列出所有剪贴板的当前内容,然后<CTRL+R>剪贴板名称吧,这样做的好处是粘贴完仍然在插入模式下。
imap <F3> <c-o>:reg<cr>
快速移动光标
插入模式下快速移动光标的命令不太多,除了<Home>、<End>到行首、行尾之外,也可以以单词为单位移动,总比一个字符一个字符移动快一点。
<Shift+Left>或<Ctrl+Left> 光标左移一个单词
<Shift+Right>或<Ctrl+Right> 光标右移一个单词
快速删除
CTRL+W 删除光标左侧的单词
CTRL+U 删除光标左侧的行