vim进行基本设置

    科技2024-11-10  9

    在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
    Processed: 0.022, SQL: 8