场景
创建C语言程序,固定的内容每次从新输入;比如
#include <stdio.h>
int main(int argc, char *argv[])
{
return 0;
}
对于入门可以来回敲,而对于老手就没有必要了;让vim帮你完成,类似于IDE的效果
实现
采用vim的map/noremap命令
在.vimrc中添加
noremap io i#include <stdio.h><Esc>o<Esc>
noremap im iint main(int argc, char *argv[])<Esc>
map mf io<Esc>o<Esc>imo{<Esc>o<Esc>i<Tab>return 0;<Esc>o}<Esc>2ko<Esc>i<Tab>
使用
当用vim创建一个新程序文件时,在normal模式下,输入"mf"就会自动写入上文模板代码
分析
io - 插入头文件
im - 插入函数声明部分
mf - 调用io,im完成插入,然后插入函数体,并插入新行,以insert模式,光标置于新行处
其中io,im只是为了降低mf命令的长度而提出来的,当让也可以独立使用!否则,像这样,是不是太长?
map mf i#include <stdio.h><Esc>o<Esc>iint main(int argc, char *argv[])<Esc>o{<Esc>o<Esc>i<Tab>return 0;<Esc>o}<Esc>2ko<Esc>i<Tab>
其他
某个功能函数比较常用,那么定义一个补全命令,一步到位,不用复制也不用再重写,方便快捷!再比如C++/Java中的模板是不是也有应用场景?抛砖引玉,根据自己的需求,定制命令吧!