使用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鍵就會使用列表的第一項,否則每一次都需要自己多按一次進行選擇。

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