使用Vim打造自己的IDE

        之前一直使用UE的FTP功能编辑Linux虚拟机上的代码文件,之后再切换到Linux上去编译,调试程序,感觉这样比较麻烦,而且UE的功能也不像VS以及Eclipse的IDE那样强大,所以就查阅了一些资料,想要把Linux下最常用的文本编辑工具Vim打造成一个适合自己的IDE。

 

        配置自己的Vim过程中参考了以下的blog和文档:

        http://blog.csdn.net/fbfsber008/article/details/7055842

        http://www.douban.com/note/257815917/

        https://github.com/vim-scripts/vundle

 

        最终的效果:


        

 

        现在把整个配置的过程记录下来,方便以后参考。


一、前期准备


        1、有一个github帐号


        2、Linux上安装git版本控制工具,可以使用命令安装,例如 yum install git

 

        github是一个好地方,不仅可以浏览很多的开源程序,而且可以把自己正在开发的项目或者有用的文档托管在上面,不管在其他任何的计算机上都可以很容易的获取到。

比如我的 .vimrc 的配置文件就放在了Github上,有一个版本库是专门用来存放配置文件的。

        地址为:https://github.com/fatedier/dot_file

 

二、vim常用配置


        个人的vim配置文件一般是放在用户主目录下的.vimrc文件。

        配置文件中“ 之后的部分都被当作注释。

 

if v:lang =~ "utf8$" || v:lang =~"UTF-8$"
  set fileencodings=ucs-bom,utf-8,latin1
endif
 
set nocompatible     " Use Vim defaults (much better!)
set bs=indent,eol,start             " allow backspacing overeverything in insert mode
set viminfo='20,\"50        " read/write a .viminfo file, don'tstore more
                            "than 50 lines of registers
set history=50          " keep 50 lines of command line history
set ruler            "show the cursor position all the time
 
" -----------个人设置-----------
filetype off
 
set ts=4          " tab所占空格数
set shiftwidth=4  " 自动缩进所使用的空格数
set expandtab     " 用空格替换tab
set autoindent    " 自动缩进
set smartindent   " C语言缩进
set number        " 显示行号
set ignorecase    " 搜索忽略大小写
set incsearch     " 输入字符串就显示匹配点
set showtabline=2 " 总是显示标签页
 
if has("mouse")
   set mouse=iv  " 在 insert 和 visual 模式使用鼠标定位
endif
 
" -------------颜色配置-------------
" 补全弹出窗口
hi Pmenu ctermbg=light magenta
" 补全弹出窗口选中条目
hi PmenuSel ctermbg=yellow ctermfg=black
 
" -------------键盘映射-------------
" Ctrl+S 映射为保存
nnoremap <C-S> :w<CR>
inoremap <C-S><Esc>:w<CR>a
 
" Ctrl+C 复制,Ctrl+V 粘贴
inoremap <C-C> y
inoremap <C-V> <Esc>pa
vnoremap <C-C> y
vnoremap <C-V> p
nnoremap <C-V> p
 
" F3 查找当前高亮的单词
inoremap <F3>*<Esc>:noh<CR>:match Todo /\k*\%#\k*/<CR>v
vnoremap <F3>*<Esc>:noh<CR>:match Todo /\k*\%#\k*/<CR>v
 
" Ctrl+\ 取消缩进
inoremap <C-\> <Esc><<i


 

三、使用vundle管理vim插件


        很多时候我们的vim都需要安装大量的插件,需要进行各种配置,而且插件路径下面的文件也会变的非常混乱,这个时候使用vundle就是一个不错的选择。

        vundle是可以算是一个用来管理各种vim插件的插件。

 

        在github上的地址:https://github.com/vim-scripts/vundle

 

1、安装ctags


        直接使用命令 yuminstall ctags 进行安装。

        之后在你的项目文件的根目录中执行如下的命令:

        $ ctags -R

 

        会发现当前目录下生成了一个名为tags的文件。

        tags文件是由ctags程序产生的一个索引文件,如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿,tags文件就起作用了。使用把光标移动到你想查的地方,按下”Ctrl + ]”,就可以跳转到定义处。

 

        最后需要在vim配置文件中将tags文件加入到vim中来:


        set tags=~/tags


        注:这里需要填具体的tags文件所在路径。

 

2、先安装vundle这个插件


        $ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

        之后其他的插件也都会被放在~/.vim/bundle这个目录下。

 

3、安装其他需要的插件


        以后当你需要安装其他的vim插件的时候,直接在.vimrc中加上如下部分:

 

filetype off
 
setrtp+=~/.vim/bundle/vundle/
call vundle#rc()
" Bundles
" 显示变量、函数列表等
Bundle"taglist.vim"
" 窗口管理器
Bundle"winmanager"
" 标签工具
Bundle"Visual-Mark"
" 代码补全工具
Bundle"neocomplcache"
 
filetype pluginindent on

 

        Bundle 后面的插件名称用引号引起来,最后在vim中输入:BundleInstall就会完成自动安装,实际上是也是从github上下载各种插件,因为大多数的插件已经备份在了github上的vim-scripts上。

 

        :PluginSearch命令可以查看有哪些插件可以直接使用插件名下载的。

如果你需要的插件在这个里面没有找到,那么在.vimrc配置文件中可以直接用git远程仓库的地址,例如要安装command-t这个插件,可以在配置文件中加上:


        Bundle “git://git.wincent.com/command-t.git”


        这样就会直接从这个地址上下载所需插件。

 

四、其他插件的配置与使用


1、快速浏览源码:TagList


        在Windows平台我经常用来浏览项目源码的工具就是SourceInsight,会在窗口左边列出当前文件中的变量、宏、函数名等等,点击以后就会快速跳转到页面相应的地方,使用taglist就可以在vim中实现相同的效果。


        通过vundle安装完成后,在vim中使用:Tlist命令就可以打开TagList窗口。

 

2、窗口管理器:WinManager


        WinManager可以帮助我们管理在屏幕上显示的多个窗口。

 

        之后我们需要设置一下在normal模式下可以直接输入wm来打开文件管理窗口以及TagList,.vimrc文件增加如下命令:

 

        let g:winManagerWindowLayout='FileExplorer|TagList'

        nnoremap wm:WMToggle<cr>

 

        注:nnoremap是设置键盘映射。第一个字母n是normal模式,i是insert模式,v是visual模式。加上nore表示不会递归替换命令,比如a映射到b,b映射到c,那么按a不会得到按c的效果。

 

3、高亮标签:VisualMark


        这个插件的作用就是在浏览代码的时候在指定的行上添加标签,之后可以快速跳转回来,方便快捷。

        安装完成之后直接就可以在vim中使用。

        “mm”命令会在当前行添加标签,再次按”mm”会取消标签。

        按下“F2”可以在多个标签之间进行快速跳转。

 

4、自动补全:neocomplcache


        这个补全插件需要tags文件的支持,所以需要安装ctags,并且在项目根目录生成tags文件,之后在.vimrc中加入这个tags文件。

 

        并且在配置文件中加上如下配置:

 

        let g:neocomplcache_enable_at_startup = 1


        这一行是设置是否自动启用补全,为1代表启用。这样就不需要每次都使用Ctrl+P或者Ctrl+N来弹出补全列表。

 

        let g:neocomplcache_enable_auto_select = 1


        这一行是设置是否启用自动选择,为1代表启用。这个时候弹出补全列表的时候会自动选择第一个,按下Enter键就会使用列表的第一项,否则每一次都需要自己多按一次进行选择。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章