天天看點

VIM使用總結

本文的目标不是一個VI編輯器的教材。它隻是個人在使用VI程式設計的過程中,對自認為比較有用的一些編輯功能及其它功能的一些整理。有一些功能,比如 hjkl鍵移動光,個人并不習慣使用,同時也并不認為對提高編輯效率有多大幫助,是以沒有列入其中。與程式設計風格,程式設計規範這些東西恰恰相反,編輯器的使用習慣對程式員來說,是一件很個人化,很個性化的事情。每個人都可以有自己的使用習慣和偏好,隻要有利于工作的高效即可。

一、基本編輯功能

1、複制、剪切和粘貼

複制特定的某一段:把光标移到要複制的文本的頭部,按下“v”,往後移動光标,光标所過之處的字元>都會高亮,移到欲複制文本的尾部後,按下“y”,高亮文本全部被複制到剪粘闆。

複制某一行:把光标移到要複制的那一行,按下“yy”,該行就被複制到剪粘闆。

剪切特定的某一段:把光标移到要剪切的文本的頭部,按下“v”,往後移動光标,光标所過之處的字元>都會高亮,移到欲剪切文本的尾部後,按下“d”,高亮文本全部被複制到剪粘闆。

剪切某一行:把光标移到要剪切的那一行,按下“dd”,該行就被複制到剪粘闆。

粘貼剪粘闆的内容到光标處:把光标移到要粘貼的位置,按下“p”。

2、搜尋、替換

向前搜尋字元串“example”:/example。

向後搜尋字元串“example”:?example。

搜到第一個字元串後,按下“n”向後搜尋下一個,按下“N”向前搜尋下一個。

全文替換: 把全文的old替換為new :%s/old/new/g

把全文的old替換為new,但每次要求确認::%s/old/new/c

3、Undo和redo

Undo:按下“u”。

Redo: 按下“Ctrl + R”。

4、儲存、另存為

儲存:“w”。

另存為:“w filename”。

二、文法高亮,格式設定

首先在vi中導入vimrc範例檔案::read $VIMRUNTIME/vimrc_example.vim。然後把它儲存到你的使用者目錄下,儲存檔案名為.vimrc。檔案中有一句:syntax on。即為開啟文法高亮功能。

關于這個檔案中,還有幾個比較有用的設定:

set ruler       “任何時候都顯示光标位置。

set showcmd     “顯示不完整的指令。

set tabstop=4   “tab鍵縮進4格。

三、關鍵字補全

Ctrl + N:找到比對的關鍵字把目前未拼寫完的關鍵字補充完整,如果有多個可比對項,則每按一次Ctrl+N,切換到下一項。如果習慣用tab鍵補充關鍵字,則可以在.vimrc檔案中添加如下代碼:

function! CleverTab()

if strpart( getline(’.'), 0, col(’.')-1 ) =~ ‘^\s*$’

return “\<Tab>”

else

return “\<C-N>”

endfunction

inoremap <Tab> <C-R>=CleverTab()<CR>

四、編輯一個工程

通常我們在開發一個程式中,不止一個源程式檔案,我們要在整個工程中編輯源代碼,就需要經常在檔案間進行切換,這時,可以使用指令:

:e filename

切換到目标檔案,而不需要退出vi。

編輯完成,要make,直接輸入make指令,如果有錯誤,該指令執行完畢後,會自動跳到第一個錯誤的地方,還有幾個指令可以在錯誤行之間定位:

:cc 顯示錯誤資訊。

:cn 顯示下一條錯誤資訊。

:cp 顯示前一條錯誤資訊。

:cl 列出所有錯誤。

五、其它

1、括号比對。

包括{} [] ()的比對,在某一個括号上按下%,便會自動跳到與之比對的那個括号處,再按一下%,就會跳回來。

2、獲得線上幫助。

在編輯程式源代碼時,如果對某個系統函數的用法不是很明确,把光标移到這個函數下,按下“K”,便>會跳出這個函數的man幫助資訊。

3、暫時回到shell。

輸入指令:sh

4、在vi中執行shell指令。

輸入:!cmd,比如:!ls。

實用技巧:在Vim編輯器下文法高亮的設定

如果希望vim預設打開支援文法高亮(隻在支援色彩的終端中),編輯(ubuntu 7.10 amd版中實作,很多時候隻要直接用sudo apt-get install vim 更新安裝vim就可以實作這個功能,但是linux這個東西經常會出現莫名其妙的問題,下面的這個方法比較直接)

sudo vim ~/.vimrc

内容為:

if &t_Co > 1

syntax enable

endif

Vim的啟動配置

不習慣使用vi的時候,會覺得用它看代碼很不友善,累。其實,vi的功能非常強大,稍做配置,就能得到一個友好的編輯器。在啟動的時候vim會讀取 /usr/share/vim/vim61/.vimrc(全局設定的vimrc)和   ~/.vimrc(使用者設定的vimrc,~/也就是大家登入後的根目錄home/usrname/,是以可以根據自己的需要create一個rc檔案)并根據該檔案的内容來配置vim的各項設定。

下面的是一個範例vimrc檔案:

set   nocompatible

set   bs=2

set   columns=80

set   background=dark

set   tabstop=8

set   wrapmargin=8

set   nobk

set   cindent

set   shiftwidth=8

syntax   on

set   ruler

set   noexpandtab

下面是各項設定的具體内容:

set   nocompatible   :這個設定将避免vim以和vi高度相容的方式工作,該設定需要在每個vimrc檔案的最開始處,進而影響接下來的很多設定;

set   bs=2   :這個将影響倒退鍵的工作,具體情況非常複雜,可以參照:help   ‘bs’;

set   columns=80   :設定螢幕的行數;

set   background=dark   :使用在深色背景上看起來比較舒服的顔色顯示;

set   tabstop=8   :tab鍵跳過的空格數,tabstop=8是預設值,不過為了和windows平台下的編輯器相容,建議選擇tabstop=4;

set   wrapmargin=8   :設定在視窗右側何處開始換行;

set   nobk   :關閉檔案備份的功能;

set   cindent   :開啟縮進功能;

set   shiftwidth   :設定縮進的長度,shiftwidth=8是預設值,為了相容建議選擇shiftwidth=4;

syntax   on   :開啟文法結構強調,就是文法高亮;

set   ruler   :使得vim在右下角顯示目前行列數;

set   noexpandtab   :使vim在tab處,插入tab符而不是一串空格。

閱讀vim内部的幫助資訊可以獲得,很多vim參數的資訊。在vim中敲入   :help   可以擷取幫助,或者:help   usr_toc.txt可以讀取使用者手冊的目錄。

高亮顯示php代碼

進入vim後,在普通模式下輸入如下指令,開啟php代碼高亮顯示

:syntax enable

:source $VIMRUNTIME/syntax/php.vim

下一篇: doxygen