【linux-vim编辑器】VIM创建常用的代码模板

之前在vim上尝试在过插件,一句话,很麻烦,很多问题,如果怕麻烦或者没有太多空闲时间,建议不要用,太浪费时间了.

如果你经常写c/c++ 代码的话会经常有一些固定的模板要多次写如,比如模板类,要写好多的template ,如果你用Sublime写的话可能会快些,他会把之前写过的字符串进行动态匹配,但是对于VIM就不行.当然你可以ctrl+n或者ctrl +p来匹配之前写过的,但是如果要匹配多行的信息可能你就不知道怎么办了(不嫌麻烦可以多次yy),所以我今天介绍我一天的成果,不用下载下件,不用你会vimsrcipt,可以轻松想在sublime中一样编写方便快捷.sublime可以自定义快捷键生成模板

先介绍功能:(注意:这些自定义命令在编辑是输入即插入模式输入的,并且输入的要快,快,快,说三遍了啊)

1.括号的自动匹配生成(vim只能写一个,而sublime可以在写了左括号后自动匹配右括号)

自动匹配并且光标在括号中间(此处可以匹配小,中,大三种括号)

2.生成/**/

3.输入#def 生成#define

4.输入#in 生成#include<>光标在括号之间

5.输入np 生成using namespace std;

6.输入nf生成头文件定义模板

                #ifndef  xxxx

                #define xxxx

                //代码段

                #endif

7.按ctrl+A 全选,ctrl+c复制,ctrl+v粘贴,这里不建议用后两个,建议用y和p

8.输入class生成      输入st和空格生成        输入tp和空格生成

    class ClassName{                                struct | {                                                                   template <class T>

       };//默认选中类名方便更改             };//光标默认在红色竖线处

9.输入if ,ife,while,do,switch,try,mian都会生成对应模板

10.输入fn 和空格会生成函数声明信息注解方便作者书写

11.ctrl + R会编译运行c,c++,java,python文件

代码教程:

    在vim的匹配中除了插件外,一般有ctrl+p,ctrl+n 或者字典匹配ctrl+x ctrl+k等,这里可以自行百度

http://haoxiang.org/2011/09/vim-modes-and-mappin/,这个比较详细

在vim中也可以写vimsrcipt脚本,这里我介绍一下map命令,网上的解释很多,我就不赘述了.我就简单解释一下代码中的语法.

map a b 意思是在命令模式下按a的效果与b的效果相同

举个栗子:map a  :!ls 按a就会显示当前目录下的文件列表

inoremap 是插入模式在非递归map,就是在插入模式下可以讲文本当命令用

举个栗子:inoremap a hello 意思是在输入时输入a就会被替换为hello,

                        inoremap a <ESC>:ls 按a就会显示当前目录下的文件列表

看到这你应该就明白其实就是给命令在不同模式下起个名字

代码:你可以将下列代码复制到当前用户下的 .vimrc文件中,也可以直接写在/etc/vim/vimrc文件中

"user design start
inoremap ( ()i
inoremap [ []i
inoremap { {}i
inoremap<> <>i

inoremap /* /**/hi
inoremap #def #define
inoremap #in #include <>i
inoremap np using namespace std;
inoremap nf #ifndef#define#endif3kea

map ggVG
"map y
"map p

inoremap class class ClassName {};kE2lve
inoremap st struct {};kEla
inoremap tp template

inoremap if if () {}//endif02k2ei
inoremap ife if () {} else {}02k2ei
inoremap while while(){}//endwhile2khi
inoremap do do{}while();0ki
inoremap try try{}catch(){}2ki
inoremap for for(int i = 0;i < len; ++i){}//endfor2k10lve
inoremap switch switch(){case:break;case:break;default:break;}//endswitch4kehi

inoremap main int main(int argc, char* argv[]){return 0;}2ki
inoremap fn /Describe:0iResult:0iParameters: TypeName: Meaningarg:0i/4kEa
"user design strat

"compile star
function CompileRunGcc()
exec “w”
if &filetype == ‘c’
exec “!gcc % -o %<”
exec “!./%<”
elseif &filetype == ‘cpp’
exec “!g++ % -o %<”
exec “!./%<”
elseif &filetype == ‘java’
exec “!javac %”
exec “!java %<”
elseif &filetype == ‘python’
exec “!python %”
endif
endfunction
map :call CompileRunGcc()
"compile end
————————————————
版权声明:本文为CSDN博主「siyan985」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sb985/article/details/79585401

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值