ubuntu10.04 vim 配置
2011-05-10 22:34
393 查看
既要改/etc/vim/vimrc
也要改 /usr/share/vim/vim72
主要参考一下文章配置。
==================
http://blog.csdn.net/siceaner/archive/2011/01/08/6123923.aspx
注:以下所有说明针对 ubuntu10.04 平台。
syntax on
(2 )如果此时语法还是没有高亮显示,那么在/etc 目录下的profile 文件中添加以下语句:
export TERM=xterm-color
(3 )设置Windows 风格的C/C++ 自动缩进(添加以下set 语句到vimrc 中)
不讨论制表符为8 还是为4 较好,这里设置(软)制表符宽度为4 :
set tabstop=4
set softtabstop=4
设置缩进的空格数为4
set shiftwidth=4
设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
set autoindent
设置使用 C/C++ 语言的自动缩进方式
set cindent
设置C/C++ 语言的具体缩进方式(以我的windows 风格为例):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
如果想在左侧显示文本的行号,可以用以下语句:
set nu
最后,如果没有下列语句,就加上吧:
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 值。
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap ' ''<ESC>i
:inoremap " ""<ESC>i
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "/<Right>"
else
return a:char
endif
endf
cd ctag-5.6
./configure
make
make install
安 装完成后,在你的源程序文件夹下试试看看是否可以用了,进入本地源程序文件夹输入ctags -R ,即可生成tags 文件,在vim 中执行命令:
set tags+=$Program/tags
可以通过<C-]> 进入函数定义而<C-T> 返回函数使用了。
cd taglist
将taglist 目录下的taglist.txt 文件拷贝到/usr/share/vim/vim72/doc 目录下;
将taglist 目录下的taglist.vim 文件拷贝到/usr/share/vim/vim72/plugin 目录下。
vim /usr/share/vim/vim72/plugin/taglist.vim
在if !exists(“loaded_taglist”) 的前一行,加上一句:
let Tlist_Ctags_Cmd=”/usr/local/bin/ctags”
至此,打开cpp 文件,输入变量,再按ctrl + p 就可以有自动补全的功能了。
还可以根据需要对taglist 进行定制,
vim /usr/share/vim/vim72/plugin/taglist.vim
let Tlist_Auto_Open=1
启动vim 自动打开Tlist
let Tlist_File_Fold_Auto_Close=1
当同时显示多个文件中的tag 时,可使taglist 只显示当前文件tag ,其它文件的tag 都被折叠起来。
sp file.xxx
注意: 在打开新文件时,光标一定要处在主编辑界面中,这样才能保证标签的位置的位置合适。
关闭标签页使用:bd file.xxx
E.g. if you are editing foo.c and need to edit foo.h simply execute :A and you will be editting foo.h, to switch back to foo.c execute :A again.
这个插件实现了按下 fd, 就可以提示当前光标所在函数的定义,另外还实现了当输入 '(' 时,会自动匹配 tags ,展示函数的定义原型。
按照 omni 插件
下载omnicppcomplete-0[1].41.zip ,执行如下命令:
unzip –n omnicppcomplete-0[1].41.zip –d ~/.vim
将该文件解压到~/.vim 文件夹下, 有after 、autoload 、doc 三个文件夹。
生成 tags 文件
方法 1
在当前原文件所在目录下执行
ctags –R –c++-kinds=+p –fields=+iaS –extra=+q . (注意:最后有个. )
方法 2
每次都执行这个长的命令有些麻烦,可以这样设置:
touch ~/.ctags
打开.ctags 文件vim ~/.ctags ,添加如下三行命令i :
--c++-kinds=+p
--fields=+iaS
--extra=+q
在源文件所在的目录下执行
貌似直接用ctags –R 命令也可以。
在VIM 中执行
!ctags –R . 命令即可。(注意:最后有个点)
设置 vimrc
设置/etc/vim/vimrc
set nocp
filetype plugin on
set tags+=./tags
let OmniCpp_DefaultNamespaces=[“std”]
let OmniCpp_GlobalScopeSearch=1
let OmniCpp_NamespaceSearch=1
let OmniCpp_DisplayMode=1
let OmniCpp_ShowScopeAbbr=0
let OmniCpp_ShowPrototypeInAbbr=1
let OmniCpp_ShowAccess=1
let OmniCpp_MayCompleteDot=1
let OmniCpp_MayCompleteArrow=1
let OmniCpp_MayCompleteScope=1
set omnifunc=complete#Complete
set completeopt=longest,menu
下载winmanager.zip ,执行如下命令:
unzip –n winmanager.zip –d ~/.vim
打开一个.cpp 文件,在VIM 命令模式下输入WMToggle 展开文件夹,输入Tlist 打开taglist 列表。
使用ctrl 加两个w 键,将光标跳转到文件浏览,在光标选中的源文件按回车键,会在编辑窗口打开标签。
在当前文件夹下,创建新文件时,winmanager 并不会自动更新,需要利用ctrl+w 将光标转移到文件浏览器窗口(FileExplorer ),按F5 键后,会进行刷新。
vim /etc/vim/vimrc
let g:winManagerWindowLayout=”FileExplorer,Taglist”
在VIM 只显示文fileexplorer 和taglist ,即只有文件夹中的文件和taglist ,也可以设置成:
let g:winManagerWindowLayout=” BufExplorer,FileExplorer,Taglist”
在VIM 中同时会显示缓冲区文件,即在文件浏览器中会显示.swp 文件。
let g:winManagerWidth=30
let g:defaultExplorer=0
( 1 )函数高亮显示
syn match cFunctions display "[a-zA-Z_]/{-1,}/s/{-0,}(/{1}"ms=s,me=e-1
hi def link cFunctions Type
( 2 ) 指针符号高亮显示
syn match cPointer display "*"
hi def link cPointer Conditional
( 3 ) 指针操作符高亮显示
syn match cPointerOperator display "->/|/."
hi def link cPointerOperator Conditional
( 4 )逻辑运算符高亮显示
syn match cLogicalOperator display "[!<>]=/="
syn match cLogicalOperator display "=="
hi def link cLogicalOperator Conditional
( 5 ) 位运算符高亮显示
syn match cBinaryOperator display "/(&/||/|/^/|<</|>>/)=/="
syn match cBinaryOperator display "/~"
hi def link cBinaryOperator Conditional
( 6 ) 逻辑运算赋高亮显示
syn match cLogicalOperator display "/&& /| ||"
hi def link cLogicalOperatro Conditional
将doxygenToolkit.vim 中的
“ let s:licenseTag = “ Copyright © /<enter>/<enter>” 的注释去掉。
在/etc/vim/vimrc 中添加
let g:doxygenToolkit_authorName="siceaner@gmail.com"
let s:licenseTag="Copyright (C) 2010 CheJiang University EE/<enter>"
let s:licenseTag=s:licenseTag."All rights reserved"
let g:DoxygenToolkit_licenseTag=s:licenseTag
let g:doxygenToolkit_briefTag_funcName="yes"
let g:DoxygenToolkit_enhanced_color=1
这样,就可以这样,你就可以通过DoxAuthor ,DoxLic ,Dox ,Doxb 等几个命令来生成文件、函数等常用的注释,完成doxygen 风格的文档了。
( 1 )安装 doxygen
sudo apt-get install doxygen doxygen-doc doxygen-gui graphviz
( 2 ) 生成配置文件
在程序所在目录下执行doxygen -g 生成doxygen 配置文件
( 3 ) 生成注释文档
在配置文件所在目录下,执行doxygen 配置文件名,生成注释文档。
nmap <F8> :Tlist
nmap <F9> :WMToggle
nmap doxq :DoxAuthor
nmap doxw :DoxLic
nmap doxe :Dox
nmap doxr :DoxBlock
这里还有一篇,没有仔细比较。
http://hi.baidu.com/hai836045106/blog/item/f51f0c026ca0c302728b65be.html
先用着看看效果。
也要改 /usr/share/vim/vim72
主要参考一下文章配置。
==================
http://blog.csdn.net/siceaner/archive/2011/01/08/6123923.aspx
注:以下所有说明针对 ubuntu10.04 平台。
1. vimrc 基本配置
1.1. 配置文件的位置
在目录 /etc/ 下面,有个名为vimrc 的文件,这是系统中公共的vim 配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc” 。例如,/root 目录下,通常已经存在一个.vimrc 文件。1.2. 设置语法高亮显示
(1 )打开vimrc ,添加以下语句来使得语法高亮显示:syntax on
(2 )如果此时语法还是没有高亮显示,那么在/etc 目录下的profile 文件中添加以下语句:
export TERM=xterm-color
(3 )设置Windows 风格的C/C++ 自动缩进(添加以下set 语句到vimrc 中)
不讨论制表符为8 还是为4 较好,这里设置(软)制表符宽度为4 :
set tabstop=4
set softtabstop=4
设置缩进的空格数为4
set shiftwidth=4
设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
set autoindent
设置使用 C/C++ 语言的自动缩进方式
set cindent
设置C/C++ 语言的具体缩进方式(以我的windows 风格为例):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
如果想在左侧显示文本的行号,可以用以下语句:
set nu
最后,如果没有下列语句,就加上吧:
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 值。
1.3. 括号自动补全
在/etc/vim/vimrc 中添加如下代码::inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap ' ''<ESC>i
:inoremap " ""<ESC>i
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "/<Right>"
else
return a:char
endif
endf
2. ctags 插件安装
tar –xzvf ctags-5.6.tar.gzcd ctag-5.6
./configure
make
make install
安 装完成后,在你的源程序文件夹下试试看看是否可以用了,进入本地源程序文件夹输入ctags -R ,即可生成tags 文件,在vim 中执行命令:
set tags+=$Program/tags
可以通过<C-]> 进入函数定义而<C-T> 返回函数使用了。
3. taglist插件安装
unzip –d taglist taglist_42.zipcd taglist
将taglist 目录下的taglist.txt 文件拷贝到/usr/share/vim/vim72/doc 目录下;
将taglist 目录下的taglist.vim 文件拷贝到/usr/share/vim/vim72/plugin 目录下。
vim /usr/share/vim/vim72/plugin/taglist.vim
在if !exists(“loaded_taglist”) 的前一行,加上一句:
let Tlist_Ctags_Cmd=”/usr/local/bin/ctags”
至此,打开cpp 文件,输入变量,再按ctrl + p 就可以有自动补全的功能了。
还可以根据需要对taglist 进行定制,
vim /usr/share/vim/vim72/plugin/taglist.vim
let Tlist_Auto_Open=1
启动vim 自动打开Tlist
let Tlist_File_Fold_Auto_Close=1
当同时显示多个文件中的tag 时,可使taglist 只显示当前文件tag ,其它文件的tag 都被折叠起来。
4. code_complete插件安装
下载code_complete 插件,将其拷贝到/usr/share/vim/vim72/plugin/ 目录下。5. tabbar.vim插件安装
下载tabbar.vim 插件,将其拷贝到/usr/share/vim/vim72/plugin/ 目录下。sp file.xxx
注意: 在打开新文件时,光标一定要处在主编辑界面中,这样才能保证标签的位置的位置合适。
关闭标签页使用:bd file.xxx
6. a.vim插件安装
下载tabbar.vim 插件,将其拷贝到/usr/share/vim/vim72/plugin/ 目录下。E.g. if you are editing foo.c and need to edit foo.h simply execute :A and you will be editting foo.h, to switch back to foo.c execute :A again.
7. ShowFuncc.vim 插件安装
下载ShowFuncc.vim 插件,将其拷贝到/usr/share/vim/vim72/plugin/ 目录下。这个插件实现了按下 fd, 就可以提示当前光标所在函数的定义,另外还实现了当输入 '(' 时,会自动匹配 tags ,展示函数的定义原型。
8. omni 插件安装
参考~/.vim/doc/omnicppcomplete.txt按照 omni 插件
下载omnicppcomplete-0[1].41.zip ,执行如下命令:
unzip –n omnicppcomplete-0[1].41.zip –d ~/.vim
将该文件解压到~/.vim 文件夹下, 有after 、autoload 、doc 三个文件夹。
生成 tags 文件
方法 1
在当前原文件所在目录下执行
ctags –R –c++-kinds=+p –fields=+iaS –extra=+q . (注意:最后有个. )
方法 2
每次都执行这个长的命令有些麻烦,可以这样设置:
touch ~/.ctags
打开.ctags 文件vim ~/.ctags ,添加如下三行命令i :
--c++-kinds=+p
--fields=+iaS
--extra=+q
在源文件所在的目录下执行
貌似直接用ctags –R 命令也可以。
在VIM 中执行
!ctags –R . 命令即可。(注意:最后有个点)
设置 vimrc
设置/etc/vim/vimrc
set nocp
filetype plugin on
set tags+=./tags
let OmniCpp_DefaultNamespaces=[“std”]
let OmniCpp_GlobalScopeSearch=1
let OmniCpp_NamespaceSearch=1
let OmniCpp_DisplayMode=1
let OmniCpp_ShowScopeAbbr=0
let OmniCpp_ShowPrototypeInAbbr=1
let OmniCpp_ShowAccess=1
let OmniCpp_MayCompleteDot=1
let OmniCpp_MayCompleteArrow=1
let OmniCpp_MayCompleteScope=1
set omnifunc=complete#Complete
set completeopt=longest,menu
9. WinManager 插件安装
( 1 ) 在当前用户下生效下载winmanager.zip ,执行如下命令:
unzip –n winmanager.zip –d ~/.vim
打开一个.cpp 文件,在VIM 命令模式下输入WMToggle 展开文件夹,输入Tlist 打开taglist 列表。
使用ctrl 加两个w 键,将光标跳转到文件浏览,在光标选中的源文件按回车键,会在编辑窗口打开标签。
在当前文件夹下,创建新文件时,winmanager 并不会自动更新,需要利用ctrl+w 将光标转移到文件浏览器窗口(FileExplorer ),按F5 键后,会进行刷新。
vim /etc/vim/vimrc
let g:winManagerWindowLayout=”FileExplorer,Taglist”
在VIM 只显示文fileexplorer 和taglist ,即只有文件夹中的文件和taglist ,也可以设置成:
let g:winManagerWindowLayout=” BufExplorer,FileExplorer,Taglist”
在VIM 中同时会显示缓冲区文件,即在文件浏览器中会显示.swp 文件。
let g:winManagerWidth=30
let g:defaultExplorer=0
10. C 语言相关符号高亮显示
vim /usr/share/vim/vim72/syntax/c.vim( 1 )函数高亮显示
syn match cFunctions display "[a-zA-Z_]/{-1,}/s/{-0,}(/{1}"ms=s,me=e-1
hi def link cFunctions Type
( 2 ) 指针符号高亮显示
syn match cPointer display "*"
hi def link cPointer Conditional
( 3 ) 指针操作符高亮显示
syn match cPointerOperator display "->/|/."
hi def link cPointerOperator Conditional
( 4 )逻辑运算符高亮显示
syn match cLogicalOperator display "[!<>]=/="
syn match cLogicalOperator display "=="
hi def link cLogicalOperator Conditional
( 5 ) 位运算符高亮显示
syn match cBinaryOperator display "/(&/||/|/^/|<</|>>/)=/="
syn match cBinaryOperator display "/~"
hi def link cBinaryOperator Conditional
( 6 ) 逻辑运算赋高亮显示
syn match cLogicalOperator display "/&& /| ||"
hi def link cLogicalOperatro Conditional
11. Doxygen
11.1. DoxygenToolkit 设置
下载DoxygenToolkit.vim 到/usr/share/vim/vim72/plugin 目录中。将doxygenToolkit.vim 中的
“ let s:licenseTag = “ Copyright © /<enter>/<enter>” 的注释去掉。
在/etc/vim/vimrc 中添加
let g:doxygenToolkit_authorName="siceaner@gmail.com"
let s:licenseTag="Copyright (C) 2010 CheJiang University EE/<enter>"
let s:licenseTag=s:licenseTag."All rights reserved"
let g:DoxygenToolkit_licenseTag=s:licenseTag
let g:doxygenToolkit_briefTag_funcName="yes"
let g:DoxygenToolkit_enhanced_color=1
这样,就可以这样,你就可以通过DoxAuthor ,DoxLic ,Dox ,Doxb 等几个命令来生成文件、函数等常用的注释,完成doxygen 风格的文档了。
11.2. Doxygen 设置
安装Doxygen 生成注释文档。( 1 )安装 doxygen
sudo apt-get install doxygen doxygen-doc doxygen-gui graphviz
( 2 ) 生成配置文件
在程序所在目录下执行doxygen -g 生成doxygen 配置文件
( 3 ) 生成注释文档
在配置文件所在目录下,执行doxygen 配置文件名,生成注释文档。
12. 快捷键设置
vim /etc/vim/vimrcnmap <F8> :Tlist
nmap <F9> :WMToggle
nmap doxq :DoxAuthor
nmap doxw :DoxLic
nmap doxe :Dox
nmap doxr :DoxBlock
这里还有一篇,没有仔细比较。
http://hi.baidu.com/hai836045106/blog/item/f51f0c026ca0c302728b65be.html
先用着看看效果。
相关文章推荐
- ubuntu 10.04 vim配置笔记
- ubuntu10.04 vim 配置
- 【旧资料整理】ubuntu 10.04 个性配置
- Ubuntu10.04配置LAMP
- UBUNTU10.04 配置Eric5 + python3.1
- 基于ubuntu 下 vim 入门进阶篇之环境和插件的配置2步完美搞定
- VMware中安装Ubuntu 10.04后的一些配置(上网、g++、用putty登录、中文输入法)
- Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)
- ubuntu下vim的配置文件.vimrc的创建
- ubuntu下面配置vim的colorscheme 主题(molokai)
- Ubuntu14.04 vim编辑器配置
- Python开发如何在ubuntu 15.10 上配置vim
- ubuntu 10.04 下 samba 服务的配置
- Python开发如何在ubuntu 15.10 上配置vim
- Ubuntu下vim+ctags的配置
- Ubuntu 10.04安装Vim
- Ubuntu 10.04下安装配置NFS过程
- Ubuntu配置vim支持Python编程
- ubuntu 10.04 配置java
- Ubuntu 10.04 Jmeter多机联测配置参数