vim中配置自动打印main函数框架

效果如下,打开vi或者vim,直接输入mf,vim就会自动打印出如下内容:

家目录下打开.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>oreturn 0;<Esc>o}<Esc>2ko

第一行的作用是:在命令行模式下输入io,就可以达到向文件输出"#include <stdio.h>"的目的。

怎么做到的呢?

其实整个过程就是模拟键盘输入,仅此而已。详细过程如下:

首先按下键盘i键,也就是进入插入模式输出“#include <stdio.h>”(其实这个过程还是按下键盘下的各个按键),然后按下Esc键返回命令行模式,紧接着按下o换行进入命令行模式,最后按下<Esc>键再次返回命令行模式;

第二句话可以按照第一句话的逻辑理解,在命令行模式下输入im命令,按下键盘i键进入插入模式,然后输出“int main(int argc, char *argv[])”,最后按下<Esc>键,再次返回命令行模式;

好了,理解了前面的内容以后,我们就可以分析最后一句话了。

不难发现,第一,二句用的都是叫noremap的东西,这个东西叫做映射命令;第三句的作用是,用上述自定义命令,输出完整的main函数框架。

还是前面的逻辑,因为用到了之前的命令,所以这里的映射命令变成了map。还是模拟键盘输入,首先执行io,也就是输出”#include <stdio.h>"。 然后到<Esc>o<Esc>这里玩了个花活,先<Esc>返回命令行模式,再用o换行,最后输入Esc再次进入,命令行模式,这么做的目的就是达到一个换行目的,而且停留在命令行模式方便执行后面的命令。

后面同样的逻辑,只要理解了前面的内容,这里不难分析。

注意:如果你的vim做过其它配置,会导致输出的结果与上述结果不同。

这种情况也不难理解,因为不管是mf还是io或者im本质上都是通过模拟敲击键盘实现的,如果你的vim恰巧对键盘做过一些配置,例如,我们经常希望在输入'[' 的时候,vim自动给我们补上 ']' ,(怎么配置可以 百度 这里就不讲了),如果你vim有这样的配置,那结果可能就会变成下面的情况:

#include <stdio.h>

int main(int argc, char *argv[]])
{
    
    return 0;
}

类似的这种情况,可以在理解前面内容的基础上根据你vim的配置进行调整。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值