将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx

上传人:b****1 文档编号:2032855 上传时间:2023-05-02 格式:DOCX 页数:15 大小:194.60KB
下载 相关 举报
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第1页
第1页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第2页
第2页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第3页
第3页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第4页
第4页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第5页
第5页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第6页
第6页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第7页
第7页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第8页
第8页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第9页
第9页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第10页
第10页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第11页
第11页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第12页
第12页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第13页
第13页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第14页
第14页 / 共15页
将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx

《将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx》由会员分享,可在线阅读,更多相关《将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx(15页珍藏版)》请在冰点文库上搜索。

将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相.docx

将Vim改造为强大的IDEVim集成CtagsTaglistCscopeWinmanagerNERDTreeOmniCppComplete有图有真相

1、安装Vim和Vim基本插件

首先安装好Vim和Vim的基本插件。

这些使用apt-get安装即可:

lingd@ubuntu:

~/arm$sudoapt-getinstallvimvim-scriptsvim-doc

其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。

vim中文帮助文档tar包下载地址:

解压后其中有个doc文件夹,将其中的内容全部复制到~/.vim/doc,或者vim安装目录下的doc目录中,此时vim中的help信息已经是中文的了.

网页版中文帮助文档网址

首页就时vim帮助文档的目录,阅读起来更方便有效、更有针对性!

 

2、Vim配置文件

Vim强大的功能,其来源基本上就两个地方:

Vim插件以及Vim配置文件。

Vim本身的系统配置文件夹是在/usr/share/vim/和/etc/vim/两个文件夹下。

一般情况下,我们不会去改变这两个文件夹下的配置文件,而是在用户文件夹/home/user(其中,user为用户名,我的用户名是lingd)下建立自己的配置文件。

进入用户文件夹(/home/user/)之后,用gedit新建一个名叫.vimrc的文件:

lingd@ubuntu:

~/arm$cd~

lingd@ubuntu:

~$gedit.vimrc

注:

使用gedit主要是为了方便大段大段的文字粘贴!

然后把下面的文字拷贝进这个文件之后保存:

"Thislineshouldnotberemovedasitensuresthatvariousoptionsare

"properlysettoworkwiththeVim-relatedpackagesavailableinDebian.

debian.vim

"UncommentthenextlinetomakeVimmoreVi-compatible

"NOTE:

debian.vimsets'nocompatible'.Setting'compatible'changesnumerous

"options,soanyotheroptionsshouldbesetAFTERsetting'compatible'.

setnocompatible

"Vim5andlaterversionssupportsyntaxhighlighting.Uncommentingthe

"followingenablessyntaxhighlightingbydefault.

ifhas("syntax")

syntaxon"语法高亮

endif

colorschemeron"elflordronpeachpuffdefault设置配色方案,vim自带的配色方案保存在/usr/share/vim/vim72/colors目录下

"detectfiletype

filetypeon

filetypepluginon

"Ifusingadarkbackgroundwithintheeditingareaandsyntaxhighlighting

"turnonthisoptionaswell

setbackground=dark

"UncommentthefollowingtohaveVimjumptothelastpositionwhen

"reopeningafile

ifhas("autocmd")

auBufReadPost*ifline("'\"")>1&&line("'\"")<=line("$")|exe"normal!

g'\""|endif

"haveVimloadindentationrulesandpluginsaccordingtothedetectedfiletype

filetypepluginindenton

endif

"Thefollowingarecommentedoutastheycausevimtobehavealot

"differentlyfromregularVi.Theyarehighlyrecommendedthough.

"setignorecase"搜索模式里忽略大小写

"setsmartcase"如果搜索模式包含大写字符,不使用'ignorecase'选项。

只有在输入搜索模式并且打开'ignorecase'选项时才会使用。

setautowrite"自动把内容写回文件:

如果文件被修改过,在每个:

next、:

rewind、:

last、:

first、:

previous、:

stop、:

suspend、:

tag、:

!

、:

make、CTRL-]和CTRL-^命令时进行;用:

buffer、CTRL-O、CTRL-I、'{A-Z0-9}或`{A-Z0-9}命令转到别的文件时亦然。

setautoindent"设置自动对齐(缩进):

即每行的缩进值与上一行相等;使用noautoindent取消设置

"setsmartindent"智能对齐方式

settabstop=4"设置制表符(tab键)的宽度

setsofttabstop=4"设置软制表符的宽度

setshiftwidth=4"(自动)缩进使用的4个空格

setcindent"使用C/C++语言的自动缩进方式

setcinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:

1s"设置C/C++语言的具体缩进方式

"setbackspace=2"设置退格键可用

setshowmatch"设置匹配模式,显示匹配的括号

setlinebreak"整词换行

setwhichwrap=b,s,<,>,[,]"光标从行首和行末时可以跳到另一行去

"sethidden"Hidebufferswhentheyareabandoned

setmouse=a"Enablemouseusage(allmodes)"使用鼠标

setnumber"Enablelinenumber"显示行号

"setpreviewwindow"标识预览窗口

sethistory=50"setcommandhistoryto50"历史记录50条

"--状态行设置--

setlaststatus=2"总显示最后一个窗口的状态行;设为1则窗口数多于一个的时候显示最后一个窗口的状态行;0不显示最后一个窗口的状态行

setruler"标尺,用于显示光标位置的行号和列号,逗号分隔。

每个窗口都有自己的标尺。

如果窗口有状态行,标尺在那里显示。

否则,它显示在屏幕的最后一行上。

"--命令行设置--

setshowcmd"命令行显示输入的命令

setshowmode"命令行显示vim当前模式

"--findsetting--

setincsearch"输入字符串就显示匹配点

sethlsearch

注:

配置文件中,以单个双引号开头的文字为注释。

保存文件之后,启动Vim。

此时,Vim已经是这种效果了(语法高亮挺漂亮的–这个是由vim-scripts中的插件支持的):

3、ctags安装与配置

ctags可以建立源码树的标签索引(标签就是一个标识符被定义的地方,如函数定义),使程序员在编程时能迅速定位函数、变量、宏定义等位置去查看原形

以下是在ubuntu下ctags的下载安装和配置过程:

下载并安装ctags,终端输入命令

lingd@ubuntu:

~/arm$sudoapt-getinstallctags

建立源码索引,比如我经常需要查阅Linux的内核代码,而这些代码放在/home/lingd/arm/linux-2.6.24.7目录下

那么在终端进入到该目录后,输入命令ctags-R*,你会发现多了一个tags文件,这个就是索引文件

lingd@ubuntu:

~/arm$cdlinux-2.6.24.7

lingd@ubuntu:

~/arm/linux-2.6.24.7$ls

arch  crypto    include kernel   mm       samples usr

block  Documentation init  lib     net      scripts

COPYING drivers    ipc   MAINTAINERS README     security

CREDITS fs      Kbuild Makefile  REPORTING-BUGS sound

lingd@ubuntu:

~/arm/linux-2.6.24.7$ctags-R*

lingd@ubuntu:

~/arm/linux-2.6.24.7$ls

arch  crypto    include kernel   mm       samples tags

block  Documentation init  lib     net      scripts usr

COPYING drivers    ipc   MAINTAINERS README     security

CREDITS fs      Kbuild Makefile  REPORTING-BUGS sound

向vim注册索引文件tags的路径,

lingd@ubuntu:

~/arm/linux-2.6.24.7$vi~/.vimrc

在打开文件的最后添加如下内容(当然,具体路径根据你自己的情况)

"--ctagssetting--

"按下F5重新生成tag文件,并更新taglist

map:

!

ctags-R--c++-kinds=+p--fields=+iaS--extra=+q.:

TlistUpdate

imap:

!

ctags-R--c++-kinds=+p--fields=+iaS--extra=+q.:

TlistUpdate

settags=tags

settags+=./tags"addcurrentdirectory'sgeneratedtagsfile

settags+=~/arm/linux-2.6.24.7/tags"addnewtagsfile(刚刚生成tags的路径,在ctags-R生成tags文件后,不要将tags移动到别的目录,否则ctrl+]时,会提示找不到源码文件)

settags+=./tags表示在当前工作目录下搜索tags文件

settags+=~/arm/linux-2.6.24.7/tags表示在搜寻tags文件的时候,也要搜寻~/arm/linux-2.6.24.7/文件夹下的tags文件。

然后保存并退出vi。

这样,你就可以用vim在任意地方查看有关Linux的函数原形

------------------------------------

tag命令用法:

Ctrl+] 跳到当前光标下单词的标签

Ctrl+O 返回上一个标签

Ctrl+T 返回上一个标签

:

tagTagName跳到TagName标签

以上命令是在当前窗口显示标签,当前窗口的文件替代为包标签的文件,当前窗口光标跳到标签位置。

如果不希望在当前窗口显示标签,可以使用以下命令:

:

stagTagName新窗口显示TagName标签,光标跳到标签处

Ctrl+W+] 新窗口显示当前光标下单词的标签,光标跳到标签处

当一个标签有多个匹配项时(函数(或类中的方法)被多次定义),":

tags"命令会跳转到第一处。

如果在当前文件中存在匹配,那它将会被首先使用。

可以用这些命令在各匹配的标签间移动:

:

tfirst  到第一个匹配

:

[count]tprevious向前[count]个匹配

:

[count]tnext 向后[count]个匹配

:

tlast  到最后一个匹配

或者使用以下命令选择要跳转到哪一个

:

tselectTagName

输入以上命令后,vim会为你展示一个选择列表。

然后你可以输入要跳转到的匹配代号(在第一列)。

其它列的信息可以让你知道标签在何处被定义过。

以下命令将在预览窗口显示标签

:

ptagTagName预览窗口显示TagName标签,光标跳到标签处

Ctrl+W+} 预览窗口显示当前光标下单词的标签,光标跳到标签处

:

pclose 关闭预览窗口

:

peditfile.h在预览窗口中编辑文件file.h(在编辑头文件时很有用)

:

psearchatoi查找当前文件和任何包含文件中的单词并在预览窗口中显示匹配,在使用没有标签文件的库函数时十分有用。

 

最简单的使用方法举例

用vi在任意目录写一个Test.c文件,内容如下:

intmain(void)

{

printf("HelloWorld!

\n");

return0;

}

写好后末行模式输入w保存好(不要退出vi),按Esc回到指令模式,把光标停留在printf上

然后按Ctrl+W+],vi会自动跳到Linux系统函数printf()处,这时我们能查看printf()的原形

查看完了,按Ctrl+o(回到上一个标签)就回到原来的地方

4、管理vim插件——vim-addons

通过vim-addons,我们可以管理vim插件。

我们在sudoapt-getinstallvimvim-scriptsvim-doc时,一般会自动安装上vim-addons。

若未安装可通过sudoapt-getinstallvim-addon-manager手动安装。

安装完成后,就可以用vim-addons管理vim插件了。

#系统中已有的vim-scripts中包含的插件及其状态:

lingd@ubuntu:

~$vim-addonsstatus

#Name          UserStatus SystemStatus

align           removed   removed   

alternate         removed   removed   

bufexplorer        removed   removed   

calendar          removed   removed   

closetag          removed   removed   

colorssamplerpack    removed   removed   

cvsmenu          removed   removed   

debPlugin         removed   removed   

detectindent        removed   removed   

doxygen-toolkit      removed   removed   

editexisting        removed   removed   

enhanced-commentify    removed   removed   

gnupg           removed   removed   

info            removed   removed   

justify          removed   removed   

lbdbq           removed   removed   

markdown-syntax      removed   removed   

matchit          removed   removed   

minibufexplorer      installed  removed   

nerd-commenter       removed   removed   

omnicppcomplete      installed  removed   

po             removed   removed   

project          installed  removed   

python-indent       removed   removed   

secure-modelines      removed   removed   

snippetsEmu        removed   removed   

sokoban          removed   removed   

supertab          removed   removed   

surround          removed   removed   

taglist          installed  removed   

tetris           removed   removed   

utl            removed   removed   

vcscommand         removed   removed   

vimplate          removed   removed   

whatdomain         removed   removed   

winmanager         removed   removed   

xmledit          removed   removed  

上面我们介绍了如何独立于系统配置文件之外,建立自己的Vim配置文件。

当我们自己下载安装Vim插件的时候,也可以另外建立目录,放置我们自己的插件。

这个目录一般为/home/user/.vim,另外还需要建立一个插件子目录,一个插件文档子目录,以上的可以进入/home/user目录下通过下面的命令执行:

lingd@ubuntu:

~$mkdir.vim

lingd@ubuntu:

~$cd.vim

lingd@ubuntu:

~/.vim$mkdirplugin

lingd@ubuntu:

~/.vim$mkdirdoc

#vim官方插件的安装,xxxx是要安装的插件名,以status中显示的名称为准。

安装插件xxxx时使用以下命令(前提是在目录/home/user/.vim/下建立好了plugin和doc两个文件夹)

vim-addonsinstallxxxx

 关于vim-addons命令的详细用法,可以通过“manvim-addons”查看其帮助文档

5、vim自动补全——OmniCppComplete

vim的自动补全功能可通过其插件OmniCppComplete实现。

安装OmniCppComplete

lingd@ubuntu:

~$vim-addonsinstallomnicppcomplete

配置OmniCppComplete

在vim配置文件/home/user/.vimrc中加入如下的配置:

"--omnicppcompletesetting--

"按下F3自动补全代码,注意该映射语句后不能有其他字符,包括tab;否则按下F3会自动补全一些乱码

imap

"按下F2根据头文件内关键字补全

imap

setcompleteopt=menu,menuone"关掉智能补全时的预览窗口

letOmniCpp_MayCompleteDot=1"autocompletewith.

letOmniCpp_MayCompleteArrow=1"autocompletewith->

letOmniCpp_MayCompleteScope=1"autocompletewith:

:

letOmniCpp_SelectFirstItem=2"selectfirstitem(butdon'tinsert)

letOmniCpp_NamespaceSearch=2"searchnamespacesinthisandincludedfiles

letOmniCpp_ShowPrototypeInAbbr=1"showfunctionprototypeinpopupwindow

letOmniCpp_GlobalScopeSearch=1"enabletheglobalscopesearch

letOmniCpp_DisplayMode=1"Classscopecompletionmode:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2