以前習慣於eclipse,sourceinsight,vim用的不是很熟悉,在現在的公司中,vim是一種必備的技巧,慢慢,從難受到得心應手,vim還是比較好用的,下面記錄一點實用的技巧
1、vim+ctags+cscope是乙個強大的比擬於sourceinsight的字元介面的工具
2、ctrl+],跳轉到定義處,ctrl+_+c等同於cs f c的作用,關於具體是那些鍵被對映到cs f c上,具體看.vimrc檔案的定義
3、ctrl+o後退跳轉,ctrl+i向前跳轉
4、在某單詞上按住shift+8,搜尋某詞,n向後搜尋,n向前搜尋
5、[[向前跳轉到上乙個函式定義處,shift+%跳轉到匹配的括號處,在if(){比較大的時候很利於看清**結構
6、u撤銷更改,ctrl+r重做更改,:rew跳到第乙個檔案,當你跳轉比較多的時候,回到第乙個檔案比較有效
7、0跳到行首,$跳到行尾,x刪除當前的字元。
8、除錯使用者態的程式,需要查詢某個命令的手冊時,例如:statfs時,游標移到statfs上,按下大寫k則調出man手冊,很有用,幫助按q退出。
9、替換操作,在處理某個shell指令碼時非常有效 :
:75,131s/^.//g將檔案中75到131行的行首的字元去掉
:%s/^/#/g將檔案中所有的行行首都新增#。
:w!唯讀檔案強制儲存。
10、跳轉到檔案,檔案中include "ops.h",游標移到檔名上,按下gf將跳轉到這個檔案,但是先必須用cscope建立檔案索引
11、vimdiff的使用與beyond compare一致
dp 複製差異到另乙個檔案
do 從另乙個檔案獲取差異
diffupdate 更新差異顯示對比結果
vertical diffsplit *.c 比較當前編輯的某檔案與*.c檔案的差異
12、在vim的命令列模式下使用make
:make uimage -j 19 arch=arm cross_compile=arm-linux-
編譯完成後將顯示所有的錯誤,
:cl顯示所有編譯錯誤
:cn下乙個編譯錯誤
:cp上乙個編譯錯誤
將實現所有的錯誤自動跳轉到行的功能。
也可以:!export arch=arm
:!export cross_compile=arm-linux-
然後編譯即可。
13、
a: 在本行行尾插入
~:游標所在處的字元進行大小寫互換
ctrl-a:可以將游標所在處的數字加1,負數和多位數都在支援範圍內哦。可以用這個快捷鍵配合巨集來幹很多事情嘍。
ctrl-x:有加1就會有減1,聰明!
14、vim替換命令
:ranges/pat1/pat2/g
其中 :這是vim的命令執行介面;
ranges是命令執行範圍的指定,可以使用%(表示所有行),.(表示當前行),$代表最後一行。
當然也可以使用行號,如10,20表示第10行到20行,.,$表示當前行到最後一行,.+2,$-5表示當前行後兩行直到全文的倒數第五行等等。
s 表示其後是乙個替換命令;
pat1 表示要查詢的乙個正規表示式;
pat2 表示希望把匹配串變成的模式的正規表示式;
g 可選標識,帶有這個標識表示替換所以的,否則只替換一行。
vim實用技巧
正在看vim實用技巧這本書,也在做一些筆記,直到看到了這個部落格.下面是全文 命令可以重複上次的修改 vim把進入插入模式到退出形成一次修改,i,在插入模式中移動游標會重置修改狀態 g增加從當前行到文件末尾的縮排層級 a在當前行的結尾新增內容 等價 a 類似還有 查詢 如果在插入模式使用了上下左右游...
vim 實用技巧
技巧記錄 序號 功能內容 1.vimrc配置 2主題vim檔案 在vim的normal模式,echo vimruntime 可以獲取vim執行目錄。進入vim的執行目錄,檢視color目錄下以 vim 為結尾的檔案 在.vimrc配置檔案加入 colorscheme 顏色主題名字 vim主題drac...
vim實用技巧
一 經驗總結。1 刪除空格 s gi 正則為乙個空格,替換為空,全域性匹配。2 刪除空行 g n d g為global 正則為 行開始 換行.其實 n 就可以。d為命令,表示刪除。3 vim的命令為 s n g 意思是全域性替換所有以回車開頭的字元,替換為空。4 如果有多個連續的空行,想保留乙個 v...