Vim安裝配置和常用技巧精選

jopen 12年前發布 | 20K 次閱讀 Vim

本文旨在用最簡短語言介紹Vim最實用的技巧。幫助Linux/Unix開發者快速掌握它。要想深入研究Vim的使用,大家可以參考Vim官方網站:http://www.vim.org
本文不斷修改中,任何問題大家都可以在下面留言。

第一章:安裝:

在命令行運行vim,如果找不到程序,需要自己安裝。

1.1 下載

從官方網站ftp://ftp.vim.org/pub/vim/unix/中選擇一個版本下載,我這里使用的是vim-7.3.tar.bz2。

1.2 解壓程序:

tar -xjvf vim-7.3.tar.bz2

在AIX環境中可能不支持這個命令。可以用Windows上的好壓等軟件解壓后再傳入到服務器中,這時一些程序的可執行權限可能被清除了。你需要手動添權限:

cd vim73 #進入解壓后的源代碼目錄。
vim73>chmod –R u+x .

1.3 編譯安裝程序:

如果在AIX環境可以使用xlC編譯器,編譯前需設置環境變量如下

vim73>export CC=xlC
vim73> export CFLAGS="-q64 -DOLDXAW" #64位處理器必須加上-q64選項,-DOLDXAW為了更好的兼容性
vim73>export LDFLAGS=-q64 #64位處理器必須加上此選項
vim73>export STRIP="strip -X64" #64位處理器必須加上此選項

如果是Linux環境可以不用設置上面的環境變量。

配置編譯選項:

vim73>./configure --prefix=/home/aixdev/vim/ --enable-multibyte --disable-nls

其中/home/aixdev/vim/是要安裝的目錄,用戶自己修改,務必保證此目錄又讀寫權限。--enable-multibye的用途是使用 Vim的encoding,fileecncodings等設置。--disable-nls是Oracle的語言環境,可以不選用。

編譯:

vim73>make

安裝:

vim73>make install

1.4 安裝ctags

如果你在AIX平臺上使用Vim,系統默認的ctags功能很差,建議重新安裝一個ctags工具,Linux平臺用戶可以跳過此節。ctags下載地址:http://ctags.sourceforge.net/,我這里使用的版本是:ctags-5.8.tar.gz
安裝步驟類似vim:

ctags-5.8>chmod -R u+x . #解決windows解壓后可執行權限丟失的問題。
由于編譯vim的時候已經設置好了環境變量,這里可以不用設置了
ctags-5.8>./configure --prefix=/home/aixdev/ctags/
ctags-5.8>make
ctags-5.8>make install

沒有報錯的話,在/home/aixdev/ctags/bin目錄下會有ctags可執行文件。

第二章:配置

2.1 檢查DISPLAY環境變量

在執行VIM前,檢查DISPLAY環境變量的值,(如果你的DISPLAY變量值為空,可以跳過此步)。
當我打開VIM時,發現沒響應,像是卡住了。但執行命令kill -30 <VIM的進程序號>后,它又立即激活。這是環境變量DISPLAY在作怪。
由于服務器還安裝了ORACLE,而ORACLE的一些終端登錄要用到DISPLAY變量,為了不影響其他同事使用ORACLE,可以在$PATH環境變量中找一個可以寫的目錄,并在這個目錄中新建一個名為vim的SHELL腳本,內容如下:

#! /bin/sh  
export DISPLAY=;  
<安裝路徑>/bin/vim "$@"  
exit;

把這個shell腳本的使用僅限更改為可執行:

chmod +x vim。

2.2 更新配置文件

為了使Vim能夠發揮更好的使用優勢,在安裝完成后,建議將如下的.vimrc文件復制到HOME目錄下,覆蓋原來的文件。
點擊下載.vimrc

第三章:常用技巧。

3.1 基本功能

Vim配置完成后,在任何目錄輸入命令“vim <文件名>”就可以使用vim編輯文件了。 打開vim后,默認的是命令模式,輸入i進入編輯模式,這個時候你可以編輯文件了。
在編輯模式下按Esc鍵回到命令模式,在命令模式輸入:q ! (:wq) 命令就可以(保存修改)退出了。

命令模式常用命令:
k:向上
j:向下
h:向左
l:向右
w:下一個單詞
b:上一個單詞
e:單詞尾部
a:追加輸入,并進入編輯模式,一般和e命令配合使用。
0:行首
$:行尾
ctrl+b:上頁
ctrl+f:下頁
gg:文件頭部
G:文件尾部

r:替換當前字符為
R:進入替換型輸入方式,按Esc退出。
cw:替換單詞,進入編輯模式。
x:剪切字符
dd:剪切行
D:剪切當前位置到行尾
yy:復制一行
p:粘貼
v:選擇文本區域,之后可以移動光標改變選擇范圍,也可以使用y、x、r命令復制、刪除和替換,再按一次v結束選擇。
u:撤銷
R:重做

3.2 列模式

在命令模式下,按ctrl+v命令進入列選擇模式,列選擇模式同v命令的選擇模式一樣,同時它還可以輸入I命令對選擇的區域每行都插入一樣的內容。

3.3 查找和替換

命令模式下的查找命令:
/<word>:查找下一個<word>,之后可以使用n(N)命令向下(上)查找
?<word>:查找上一個<word>,之后可以使用n(N)命令向下(上)查找
*:查找光標所在單詞下一處
<word>可以是任何正則表達式,用點(.)匹配任意單個字符,用星*表示匹配零或多個任意字符。如(/a*b)可以查找匹配ab、aab 和b。(+)表示前面的字符重復1次或多次。(\s)匹配空格、制表等空白字符。特殊字符前加轉義符(\)來表示符號的本意。

下面是介紹幾個常用的情況:
/^abc:找到以abc開頭的行
/efg$:查找已efg結尾的行
/\s\+:查找一個或多個空白處,

vim的替換語法為:[addr]s/源字符串/目的字符串/[option]。[addr] 表示檢索范圍,默認是當前行,%表示整個文件,使用 v命令選中區域后輸入冒號可以實現自定義范圍;源字符串可以使用通配符,和查找功能原理一樣;[option]是操作類型,g 表示全局替換,c 表示進行確認。
下面是一些常用的例子:
在每行的開始插入>
:%s/^/>/g
刪除空行。
:%s/^$/ /g
刪除所有的[
:%s/\[//g
將That or this 換成 This or that
:%s/\(That\) or \(this\)/\u\2 or \l\1/

提示:輸入(/、:)命令然后再按上下方向鍵,可以查看歷史命令

3.4 多文件操作

在使用vim命令時,后面可以加多個文件名。這時vim首先顯示的是第一個文件。在命令模式下輸入:n(N)命令可以切換到下(上)一個文件,輸入:qa退出所有的文件。
如果想在一個頁面上看到多個文件內容,可以使用分屏,這樣很方便讓我們交互式操作。

在vim命令模式下輸入:sp(:vsp) [文件名],可以進行水平(垂直)分屏。之后輸入wk(j、h、l)命令可以上(下、左、右)切換窗口。輸入:q可以關閉窗口。

3.5 資源管理器

如果我們打開的文件被其他程序修改了,可以使用:e命令來刷新文件內容。使用:e [文件名]可以關閉當前文件同時打開指定的文件。 使用:E命令可以打開當前文件所在目錄。這個類似Windows的資源管理器。

當打開的是文件目錄時,可以通過s命令修改文件排序方式,同時將光標移到指定文件后輸入Enter鍵即可打開它。

對于開發者來說,希望可以看到一個程序的函數名列表,這是需要通過taglist插件來實現。
使用方法如下:
1) 先到官方網站下載插件:
http://www.vim.org/scripts/script.php?script_id=273
2) 將下載的文件解壓到$HOME/.vim目錄下。

$HOME/.vim> unzip taglist_46.zip

3)設置并激活
在.vimrc文件修改下面配置:

let TlistCtagsCmd="/lincapp/aixdev/ctags/bin/ctags"

其中/lincapp/aixdev/ctags是第一步ctags安裝時指定的路徑。
進入HOME/.vim目錄運行vim,執行命令(:helptags .)后退出。

此時就配置好了,打開一個程序文件,按F2命令,即可顯示、隱藏函數定義表了。

和目錄一樣,選中函數名按Enter鍵可跳轉到函數定義。

3.6 代碼折疊

在查看源代碼時,將光標移至括號(大、中、小括號和宏定義等)處使用%命令可以在括號頭尾切換。對于代碼段跳轉,下面介紹更常用的命令:
]]:跳轉到下一個函數處。
[[:跳轉到上一個函數處。
[z:跳至當前語句塊最開始處,一般是if或while等條件處。
]z:調至當前語句塊最尾部。
zc:折疊當前語句塊
zo:展開折疊
ctrl+o:跳轉到光標的上一個位置。這個命令很強大,幫助我們在無數次跳轉后回到原處。

3.7 函數定義跳轉

我們閱讀代碼時希望能跳轉到被調函數的定義處。實現這個功能需要使用第一步安裝ctags工具對代碼庫生成tags文件,方法如下:

/home/aixdev/ctags/bin/ctags -RB -f ~/leman/tags ~/rinetd/

-f用來指定生成的tags文件名,用戶可以任何自行修改。最后一個參數指定代碼庫的主目錄(為了能在任何地方都可以跳轉,這里建議寫絕對路徑)。
生成完tags文件后需要修改.vimrc中的tags設置:

:set tags=~/leman/tags "這里修改為你自己的tags文件名

現在就可以在vim里面使用跳轉了,將光標移至函數處,輸入ctrl+]命令進入函數定義,輸入ctrl+t退到上一層調用。如果修改代碼后導致跳轉位置不準了,可以通過重建tags文件來校正。

3.8 代碼自動補全

在編輯模式下,當我們輸入變量名或者函數名一部分時,可以輸入ctrl+p(n)實現自動補全,vim自動搜索上(下)文類似的單詞,如果未找到再嘗試到 tags文件中找你想要的變量。如果有多個滿足的內容,會顯示一個列表,這時用戶可以繼續輸入ctrl+p(n)來選擇上(下)一個。

3.9 文件比較

使用vim比較文件的命令為vim -od 。參數-o表示水平分屏,默認是垂直分屏。

如上題,品紅色表示本行有差異,紅色部分標識了差異的地方。為了能看到全行的內容,可以輸入:set wrap命令來展開,同樣使用:set nowrap可以隱藏。

3.10 其他

1)調用外部命令。 如果想使用vim調用shell命令,可以在命令模式下輸入:! <shell命令>實現。如查看當前所在目錄可使用::!pwd

結尾:

以上是vim最常用的功能,那些高級不常用功能,本文不打算介紹。想更深入了解,可以在vim命令模式下輸入:help命令查看vim手冊。

來自:http://blog.chinaunix.net/uid-14178996-id-4026123.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!