vim的设置

来源:互联网 发布:牧高笛冷山3plus 知乎 编辑:程序博客网 时间:2024/05/17 08:58
设置vim  
语法加亮 和 自动缩进
sudo gedit /etc/vim/vimrc

去掉 syntax on前面 的 ”
加上一句 set cindent


" 自动补全命令时候使用菜单式匹配列表 set wildmenu " 允许退格键删除 set backspace=2 " 启用鼠标 set mouse=a " 文件类型 filetype on filetype plugin on filetype indent on " 设置编码自动识别, 中文引号显示 "set fileencodings=utf-8,cp936,big5,euc-jp,euc-kr,latin1,ucs-bom set fileencodings=utf-8,gbk set ambiwidth=double " 移动长行 nnoremap  gj nnoremap  gk " 高亮 syntax on " 设置高亮搜索 set hlsearch " 输入字符串就显示匹配点 set incsearch " 输入的命令显示出来,看的清楚些。 set showcmd



1、配置文件的位置
    在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。
 
2、设置语法高亮显示
1) 打开vimrc,添加以下语句来使得语法高亮显示:
    syntax on
2) 如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:
    export TERM=xterm-color
3、设置Windows风格的C/C++自动缩进(添加以下set语句到vimrc中)
              1)不讨论制表符为8还是为4较好,这里设置(软)制表符宽度为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)最后,如果没有下列语句,就加上吧:
if &term=="xterm"
    set t_Co=8
    set t_Sb=^[[4%dm
    set t_Sf=^[[3%dm
endif

PS:
自动缩进有两个选项:
代码:
    set autoindent
    set cindent
 
 autoindent 就是自动缩进的意思,当你在输入状态用回车键插入一个新行,或者在 normal 状态用 o 或者 O 插入一个新行时,autoindent 会自动地将当前行的缩进拷贝到新行,也就是"自动对齐”,当然了,如果你在新行没有输入任何字符,那么这个缩进将自动删除。
 
 cindent 就不同了,它会按照 C 语言的语法,自动地调整缩进的长度,比如,当你输入了半条语句然后回车时,缩进会自动增加一个 TABSTOP 值,当你键入了一个右花括号时,会自动减少一个 TABSTOP 值。




设置vim中函数高亮显示:
VIM默认情况下,函数名是不会高亮了,将下面这段代码添加到/usr/share/vim/vim73/syntax/c.vim文件的末尾即可:
"highlight Functionssyn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1hi cFunctions gui=NONE cterm=bold  ctermfg=blue
ctermfg表示函数名的颜色,可以自行更换。