您的位置:首页 > 其它

vim IDE打造

2016-07-28 11:36 417 查看

vim IDE打造

@(IPCam)[vim, 插件, vundle, ubuntu]

vim IDE打造
vundle插件管理器

ctagscscopetaglistwinmanagernerdtree插件
ctags插件

cscope插件

taglist

omniCppCompletesuperTab

winmanagernerdtreeminibufExporer

其他插件

完整的vim配置

vundle插件管理器

vundle官方github网站

首先从github上将vundle仓库克隆到./vim/bundle/Vundle.vim

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim


配置.vimrc 文件(.vimrc是vim的配置文件) 官方的rc文件实例,我的解释

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

# Github 上的插件代码使用"作者名+仓库名"的方式添加
Plugin 'tpope/vim-fugitive'
# 官方org网站上的插件,使用官方的名字 http://vim-scripts.org/vim/scripts.html Plugin 'L9'
# 非github上的git仓库的代码,使用下面的形式
Plugin 'git://git.wincent.com/command-t.git'
# 本地的插件添加方式
Plugin 'file:///home/gmarik/path/to/plugin'
# 其他目录的插件添加方式
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
# 同名插件的处理
Plugin 'ascenator/L9', {'name': 'newL9'}

" 所有插件必须写在 vundle#begin和#end之间
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on


在vim中安装

在vim中输入以下的指令完成vim中安装

" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line


ctags/cscope/taglist/winmanager/nerdtree插件

ctags插件

ctags是一个linux程序,对目录中的文件处理生成一个tags数据库,然后vim就可以调用这个数据库,显示文件中变量和函数关系等信息。

安装直接使用apt-get。

map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
在vimrc文件中加入这段代码,将Ctrl+F12组合键映射为ctags生成数据库文件。

ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
也直接shell运行这个代码。

Ctrl+]
跳转到光标所选处的定义

Ctrl+T
回到跳转前的位置

cscope插件

Cscope提供交互式查询语言符号功能,如查询哪些地方使用某个变量或调用某个函数。类似sourceinsight中的全局查找功能。

vim一般自带cscope。vim中使用
:version
命令查看是否支持cscope。不支持再用apt-get安装。

插件安装:

使用方法:

taglist

是一个显示代码中函数变量等定义结构的窗口插件。它是一个插件,使用上一章中的方法安装。

帮助文档的建立

安装完成后,进入~/.vim/…/doc文件夹,进入vim使用
:helptags .
命令加入帮助文档,使用
:help taglist
命令查看帮助。

配制

let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1


只显示一个窗口,只有tlist窗口时退出。

使用方式

1.
:TlistToggle
启动,再次输入关闭

2.
Ctrl+w
或者鼠标点击,切换窗口

omniCppComplete\superTab

omniCppComplete:c++代码的自动补全功能。是一个插件,安装方法相同。生成帮助文档相同。

superTab:Tab上下文自动补齐。

.vimrc配置

set nocp
filetype plugin on


winmanager/nerdtree/minibufExporer

这三个插件是用来优化vim的界面的布局。nerdtree是一个树形的文件夹浏览的窗口,minibuExplorer类似vs中的缓冲buf界面。

winmanager是用来组织这几个窗口的插件

安装

安装的方式如同插件安装方式。

配置

"设置nerdtree"
let g:NERDTree_title="[NERDTree]"
"设置窗口的布局,还是去掉BufExploer比较好,加上关闭时有bug"
let g:winManagerWindowLayout="NERDTree|TagList,BufExplorer"
"根据NERDTree要求加入如下代码"
function! NERDTree_Start()
exec 'NERDTree'
endfunction

function! NERDTree_IsValid()
return 1
endfunction
"设置多键快捷键,按wm打开winmanager"
nmap wm :WMToggle<cr>
map <F8> :WMToggle<cr>


自动打开winmanager

在.vimrc中加入

"设置vim启动时是否显示nerdtree和taglist。"
let g:A
4000
utoOpenWinManager = 0


在winmanager.vim中加入

f g:AutoOpenWinManager
autocmd VimEnter * nested call s:ToggleWindowsManager()|1wincm w


NERDTree出现空白窗口的问题

主要的解决方式是启动时关闭那个窗口,修改winmanager.vim中的代码,参考链接vim winmanager中添加nerdtree

function! <SID>ToggleWindowsManager()
if IsWinManagerVisible()
call s:CloseWindowsManager()
else
call s:StartWindowsManager()
"添加该语句,主要是解决当我们打开wm时会多出一个空白窗口,要把它关闭(这是winmanager中的一个bug)"
exec 'q'
end
endfunction


其他插件

vim神插件

* 文件跳转 ctrlp

* 自动补全 YouCompleteMe

* ag.vim 内容查找

* vim-airlin 帅

* tagbar 代码分析

完整的vim配置

知乎王路飞的答案

spf13\kvim\fisa
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vim 插件 管理 ide