目前基本把工作環境轉移到linux平台(ubuntu-16.04 x64),但是在linux平台下查看代碼各種不方便。其實是習慣了sourceInsight,又不想通過wine的方式安裝sourceInsight。想起VIM這強大的工具!借此也把自己配置的環境Mark下來作為記錄。
VIM安裝 添加Ctags插件 添加Tlist插件 添加WinManager插件 我的IVM 總結在ubuntu下安裝VIM非常簡單,通過apt-get命令就可以完成VIM安裝
通過終端輸入指令:
sudo apt-get install vim
檢驗是否安裝成功。在終端輸入vim看看vim程序是否正確運行起來?
可以看的我的終端裡面已經把vim程序打開了。
但是每次都要輸入vim才運行vim程序,作為懶人的我是容不得這種情況出現的。
通過終端輸入命令(update-alternatives工具可以很方便的通過輸入vi打開vim程序)<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwcmUgY2xhc3M9"brush:java;">
sudo update-alternatives --install /usr/bin/vi vi usr/bin/vim 300
啟動vim的時候出現會讀取兩個地方的配置文件。
/etc/vim/vimrc ~/.vimrc在/etc/vim/vimrc配置文件是全局的,無論哪一個用戶啟動vim的時候都會讀取的配置文件。
~/.vimrc文件則是某一用戶的配置文件。每一個用戶有一個配置文件。但是仔細看發現其實安裝好vim後並沒有在自動生成~/.vimrc文件。那麼我們就自己新建一個把,並且把相關的文件也創建起來。
在終端輸入指令:
touch ~/.vimrc
mkdir ~/.vim/{doc,plugin,syntax}
分別是新建用戶的配置文件(~/.vimrc),手冊(doc),插件(plugin),不知道是什麼文件夾(syntax)
接下來就是怎麼安裝插件並且配置插件
Ctags是一個生成標簽的工具
在終端輸入
sudo apt-get install exuberant-ctags
檢查ctags是否正確安裝
怎麼使用ctags?
首先進入到我們項目的根目錄下,並且輸入下面的指令:
ctags -R
-R參數代表循環進入每一個目錄並且生成tags文件.在根目錄下會生成一個tags文件.
tags保存的是該項目的所以標簽
在根目錄下打開/fs/exec.c文件.vim會自動讀取當前文件下的tags文件.這時候
光標移動到需要跳轉的標簽點擊”
"Ctags設置 "設置ctags程序位置
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
"ctags自動查找tags文件
set tags=tags;
這樣只有在目錄文件夾下打開代碼文件vim都會遞歸到上層目錄查找tags文件
Tlist插件提供可對變量,函數進行預覽.
進入https://sourceforge.net/projects/vim-taglist/files/vim-taglist/下載zip壓縮包.
並且解壓,解壓以後得到兩個文件夾(doc,plugin)
taglist.vim拷貝到~/.vim/plugin
taglist.txt拷貝到~/.vim/doc
回到vim軟件並且輸入Tlist,就可以看的Tlist就出現在左/右邊
事實上每一次啟動vim都需要手動啟動Tlist,每次退出vim以後還有手動退出一次Tlist才完全退出vim.這樣不科學!
再來編輯一次~/.vimrc文件.
"設置Tlist
"啟動vim Tlist自動打開窗口
"let Tlist_Auto_Open=1
"只顯示當前文件的Tlist,打開新文件後舊的Tlist會折疊
"let Tlist_File_Fold_Auto_Close=1
"當打開新的文件的時候會把舊的Tlist窗口關掉
let Tlist_Show_One_File=1
"如果Tlist是最後一個窗口退出vim
"如果不設置當退出vim的時候還會停留在Tlist窗口
"並且需要再次輸入:q才能退出vim
let Tlist_Exit_OnlyWindow=1
"Tlist顯示在右側
let Tlist_Use_Right_Window=1
這裡並沒有打開Tlist_Auto_Open開關,因為在後面我們會使用WinManager打開Tlist
WimManager插件讓我們的vi生成一個窗口能夠預覽目錄下的文件
進入http://www.vim.org/scripts/script.php?script_id=95下載zip壓縮包.
當然解壓以後也是拷貝到相應的目錄下
編輯~/.vimrc文件.具體每一個參數的作用都在注解裡面解析清楚
"Winmanager設置
"啟動vim Winmanager自動打開
"會自動把Tlist也顯示,所以把上面的Tlist_Auto_Open注釋掉了
let g:AutoOpenWinManager=1
"設置布局,左上顯示TagList,左下顯示Wimmanager,右顯示vim
let g:winManagerWindowLayout = "TagList|FileExplorer,BufExplorer"
"設置winManager的寬度,默認是25
let g:winManagerWidth = 40
"定義打開關閉winmanager快捷鍵為F8
nmap :WMToggle
添加Tlist,WinManager到vim以後我們發現有兩個問題.
1,Tlist,WinManager在左側顯示.並且進入vin的時候光標在最左上的那一個窗口.並不是在vim的輸入窗口.我們需要把Tlist,WinManager弄到右側
2,退出vim的時候還需要Tlist,WinManager還殘留在哪裡
這兩個問題修改插件代碼可以完成具體看下面貼出來的代碼
winbufnr(2)修改為winbufnr(3)
在~/.vim/plugin/winmanager.vim末尾添加如下的代碼
"設置自動打開WinManager
if g:AutoOpenWinManager
autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w
endif
最後把我配置的~/.vimrc文件都貼出來
"設置高亮關鍵字顯示
syntax enable
"顯示行號
set number
"設置幫助語言
set helplang=cn
"Ctags設置
"設置ctags程序位置
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
"ctags自動查找tags文件
set tags=tags;
"設置Tlist
"啟動vim Tlist自動打開窗口
"let Tlist_Auto_Open=1
"只顯示當前文件的Tlist,打開新文件後舊的Tlist會折疊
"let Tlist_File_Fold_Auto_Close=1
"當打開新的文件的時候會把舊的Tlist窗口關掉
let Tlist_Show_One_File=1
"如果Tlist是最後一個窗口退出vim
"如果不設置當退出vim的時候還會停留在Tlist窗口
"並且需要再次輸入:q才能退出vim
let Tlist_Exit_OnlyWindow=1
"Tlist顯示在右側
let Tlist_Use_Right_Window=1
"Winmanager設置
"啟動vim Winmanager自動打開
"會自動把Tlist也顯示,所以把上面的Tlist_Auto_Open注釋掉了
let g:AutoOpenWinManager=1
"設置布局,左上顯示TagList,左下顯示Wimmanager,右顯示vim
let g:winManagerWindowLayout = "TagList|FileExplorer,BufExplorer"
"設置winManager的寬度,默認是25
let g:winManagerWidth = 40
"定義打開關閉winmanager快捷鍵為F8
nmap :WMToggle
我現在在使用的VIM效果圖.當然我喜歡簡單為主
vim是什麼?就是一款文本編輯工具罷了.是一個能夠工具你自己喜歡定制化的編輯工具.當然你可以把很多你喜歡的東西加到裡面去.
希望大家都能用上一款自己喜歡的vim!