歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux-VIM使用

Linux-VIM使用

日期:2017/3/1 11:42:21   编辑:關於Linux

Linux-VIM使用

目前基本把工作環境轉移到linux平台(ubuntu-16.04 x64),但是在linux平台下查看代碼各種不方便。其實是習慣了sourceInsight,又不想通過wine的方式安裝sourceInsight。想起VIM這強大的工具!借此也把自己配置的環境Mark下來作為記錄。

VIM安裝 添加Ctags插件 添加Tlist插件 添加WinManager插件 我的IVM 總結

VIM安裝

在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插件

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插件

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

添加WinManager插件

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是什麼?就是一款文本編輯工具罷了.是一個能夠工具你自己喜歡定制化的編輯工具.當然你可以把很多你喜歡的東西加到裡面去.
希望大家都能用上一款自己喜歡的vim!

Copyright © Linux教程網 All Rights Reserved