接上兩篇博文:vi編輯器的使用(1)
vi編輯器的使用(2)
本小節主要介紹vi編輯器在程式設計中可以提高效率的幾項操作,包括游標的跳轉、關鍵字補全以及源**縮排等。
1.括號之間的跳轉
命令%可以實現括號之間的跳轉,轉到與當前游標下的括號相匹配的乙個括號上,如果游標在「(」上,就會跳到與它匹配的「)」上,如果當前在「)」上,就向前自動跳到匹配的「(」上。看下面的例子:
1
2
3
4
5
6
7
int
main ()
假設游標處在第2行的行首,輸入命令%後,游標將跳到第7行的行首。
如果當前游標沒有停留在任何乙個可用的括號字元上,命令%也會向前為它找到乙個,但只會在當前行內查詢,所以如果當前游標位於上例中第4行的x<=10上時,命令%還是會向前先找到第乙個「(」的。
2.區域性變數和函式名的跳轉
命令gd可以在當前檔案中對區域性變數名或函式名進行搜尋,並將游標定位在第一次出現的位置上,如圖1-13所示,在**第12行的sum變數上使用命令gd後,游標將定位在第4行的sum上。
這項功能對查詢一些靜態的變數或函式比較有用。
3.查詢全域性識別符號
當在編輯程式時,經常會想知道乙個變數是被宣告為int型還是unsigned。解決這個問題的***法就是使用命令[i,命令會列出所有包含該識別符號的行,不光在當前檔案中,也查詢當前檔案所包含的標頭檔案,以及被標頭檔案所包含的檔案,以此類推。看下面例子:
1
2
3
4
5
6
7
8
9
10
/*file1.c*/
#include
#include"yanyb.h"
int
main ()
file1.c中包含了標頭檔案yanyb.h檔案。
1
2
/*yanyb.h*/
int
a=1;
在file1.c中的a上使用命令[i,會在視窗下方給出如下資訊。
1
2
3
4
yanyb.h
1: 1
int
a=1;
file1.c
2: 6 x=a;
上面列出的列表中每一行都有乙個標號,如果要跳轉到某一項只要先輸入對應的標號即可:
3[很多的程式編輯器都提供了關鍵字補全功能,vi編輯器也不例外,相應的命令為ctrl+p和ctrl+n,這兩個命令之間的差別只是在於搜尋的順序。
在源程式中輸入printf函式時,只輸入其中一部分,如圖1-14所示。
此時輸入ctrl+n,螢幕中會出現相應的函式選項,此時可以使用上下方向鍵進行選擇,如下圖:
除了關鍵字補全外,還可以補全前面定義的變數或函式名。
縮排不僅可以增強**的可讀性,也利於錯誤的排除,vi編輯器中提供了自動縮排和手動縮排兩種功能,請看下面。
1.自動縮排
vi編輯器預設情況下可以自動完成縮排功能,對於縮排量可以在命令模式下使用如下命令進行設定。
: set cindent shiftwidth=2
這裡將縮排設定為2個空格,即輸出的檔案格式如下。
1
2
3
4
5
6
7
int
main()
如果設定為4,則輸出結果如下:
1
2
3
4
5
6
7
int
main()
2.手動縮排
如果接手一些縮排格式相當槽糕的**,或者要已有的**裡增刪修補時,可能需要重新對**的縮排進行整理,這時可以使用命令「=」來實現。
看下面的例子:
1
2
3
4
5
6
7
int
main()
對於上面的**,可以在游標所在行執行==操作,對該行進行縮排。也可以使用命令=g,對當前所在行到檔案底部所有進行縮排,輸出結果如下:
1
2
3
4
5
6
7
int
main()
可以看到,整段**實現了良好的縮排。
vi編輯器學習完!
from:
vi 編輯器的使用
1 vi編輯器開啟檔案。例 vi install.log 開啟install.log檔案 2 vi的三種狀態 命令模式 主要對游標進行操作 編輯模式 末行模式 帶 的 輸入i,在游標的前面插入字元。按esc鍵回到命令模式。輸入i,在行首插入字元。輸入a,在游標後插入 輸入a,在行末插入 輸入o,在游...
VI 編輯器的使用
vi 的工作模式 編輯模式 插入模式 命令模式 shell 切換 選項設定 vim 和 gvim 的高階特色 1.1 vi 的工作模式 vi 在初始啟動後首先進入編輯模式,這時使用者可以利用一些預先定義的按鍵來移動游標 刪除文字 複製或貼上文字等。這些按鍵均是普通的字元,例如 l 是向右移動游標,相...
vi 編輯器的使用
vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 移動游標類命令 h 游標...