在Linux里面我们知道如果利用变量进行设置实际上只是暂时生效的,如果想要让设置持久生效,那么就需要我们对配置文件进行处理
vim的配置文件就在/etc/vim/vimrc
而我们通常是把这个文件进行复制
cp /etc/vim/vimrc ~/.vimrc
这个.就表示了这是个隐藏文件
然后我们添加以下内容:
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set cindent
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
set nu
set ruler
set hlsearch
set backspace=2
含义如下:
1.设置(软)制表符宽度为4
set tabstop=4
set softtabstop=4
2.设置缩进的空格数为4
set shiftwidth=4
3.设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
set autoindent
4.使用 C/C++ 语言的自动缩进方式
set cindent
5.设置C/C++语言的具体缩进方式(以我的windows风格为例):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
6.显示行号
set nu
7.显示标尺
set ruler
8.将搜索内容反白
set hlsearch
9.可以删除任意值
set backspace=2
设置完成这些,我们还想要添加cpp文件的文件头注释
比如说:
文件创建日期,编写人员等
"进行版权声明的设置
"添加或更新头
map title :call TitleDet()<cr>'s
function AddTitle()
call append( 0, "/* COPYRIGHT NOTICE")
call append( 1, " * @algorithm :")
call append( 2, " * @author :")
call append( 3, " * @file : ".expand("%:p:h")."/".expand("%:t"))
call append( 4, " * @date :".strftime("%Y/%m/%d %H:%M"))
call append( 5, " */")
echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endfunction
"更新最近修改时间和文件名
function UpdateTitle()
normal m'
execute '/# @date /s@:.*$@\=strftime(":%Y-%m-%d %H:%M")@'
normal ''
normal mk
execute '/# @file /s@:.*$@\=":".expand("%:p:h")."\\".expand("%:t")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction
"判断前10行代码里面,是否有COPYRIGHT NOTICE这个单词,
"如果没有的话,代表没有添加过作者信息,需要新添加;
"如果有的话,那么只需要更新即可
function TitleDet()
let n = 1
let line = getline(n)
let str = '^/\* COPYRIGHT NOTICE$'
if line =~ str
call UpdateTitle()
return
endif
call AddTitle()
endfunction
然后再弄一个主函数呗
map mf i#include <iostream><Esc>o<Esc>o<Esc>iint main(int argc, char** argv)<Esc>o{<Esc>oreturn 0;<Esc>o}<Esc>2ko