標籤:blog c ext http a com
vim常用命令
"""""""""""""""""""""""""""""""""general cmd""""""""""""""""""""""""""""""""""""
h 左移一位
l 右移一位
k 上移一位
j 下移一位
0 游標到當前行開頭
$ 游標到當前行末尾
^ 游標移動到當前行的第一個非空格/定位字元的字元上
w 游標移動到下一個單詞的詞首
e 游標移動到下一個單詞的詞尾
b 游標移動到上一個單詞的詞首
""""""""copy"""""""""""""
yy or Y 複製游標所在整行
y^ 複製到游標所在行行首,不包括游標位置字元
y$ 複製到游標所在行行尾,包括游標位置字元
yG 複製到檔案尾
y1G 複製到檔案首
nyy 複製游標所在行開始的n行
"""""""Paste"""""""""""""""
p (小寫)paste到游標後
P (大寫)paste到游標前
"""""""Delete"""""""""""""""""
x (小寫)delete游標前一個字元
X (大寫)delete游標後一個字元
dd 刪除游標所在整行
dw 刪除游標所在處一個單詞
dG 刪除游標所在行到檔案尾
dgg 刪除游標所在行到檔案首
D 刪除到行尾,包括游標處字元
d0 刪除到行首,不包括游標處字元
""""""""undo""""""""
u 儲存前撤銷
ctrl+r redo重做
"""""""find"""""""""""
/string 相當於find,從游標處開始向下開始尋找字串string n尋找下一個 N 尋找上一個
?string 從游標處向上開始尋找 n 尋找上一個 N 尋找下一個
"""""""Mapping"""""""""
nmap:映射一個Normal模式下的鍵,只有在Normal模式這個命令才會生效。
例:nmap ,s :source $VIM/_vimrc<cr>
說明:綁定“,s”在Normal模式下映射為“:source $VIM/_vimrc<cr>”命令,即重新讀取配置
檔案_vimrc 。
:
imap:映射一個Insert 模式下的鍵,只有在Insert 模式這個命令才會生效。
例:imap <F11> :r c:\boot.ini<cr>
說明:綁定F11在Insert 模式下的映射為“:r c:\boot.ini<cr>”命令,即讀取c:\boot.ini檔案到當前位置。
vmap:映射一個Visual模式下的鍵,只有在Visual模式這個命令才會生效。
例:vmap sb "zbi<b><c-r>z</b><ESC>
說明:選中文字後按sb,選中文字的前後將分別加上<b>和</b>。
再例:vmap g/ y/<c-r>"<cr>
說明:映射“g/”這個按鍵組合匹配選中的字並給予高亮顯示。
map:用map綁定的鍵對Normal, Insert, Visual和Command-line模式均有效。
例:map <F5> :ls<cr>:e #
說明:映射F5鍵,使得按下F5會顯示當前可編輯檔案的buffer,然後提示你輸入buffer的行號。
詳細參考http://blog.csdn.net/linux_kernel_fan/article/details/18894253
"""""""""""""""""""""""""""Window Cmd""""""""""""""""""""""""""""""""""""""""""
""""Switch in the window""""
ctrl+w+w 依次在多視窗切換
ctrl+w+h 切換到左邊視窗
ctrl+w+l 切換到右邊視窗
ctrl+w+k 同理
ctrl+w+j 同理
""""Change the size of window"""""
:res[ize] +n 使得當前視窗增加n行
:res[ize] -n 同上相反
:vertical res[ize] +n 增加n列的寬度
:vertical res[ize] -n 同上相反
ctrl+w+= 使所有視窗等寬、等高
n+ctrl+w+ + 增加n行高度
n+ctrl+w+ - 同上相反
n+ctrl+w+> 增加n列寬度
n+ctrl+w+< 同上相反
"""""""""""Miscellaneous""""""""""""""""""
CTRL-R
"""""""""""""""""""""""""""tag cmd"""""""""""""""""""""""""""""""""""""""""
< CR> 跳到游標下tag所定義的位置,用滑鼠雙擊此tag功能也一樣
<space> 顯示光線標下tag的原型定義
o 在一個新開啟的視窗中顯示光線標下tag
u 更新taglist視窗中的tag
s 更改排序方式,在按名字排序和按出現順序排序間切換
x taglist視窗放大和縮小,方便查看較長的tag
+ 開啟一個摺疊,同zo
- 將tag摺疊起來,同zc
* 開啟所有的摺疊,同zR
= 將所有tag摺疊起來,同zM
% 跳轉到匹配的括弧去
//有時候不明白是怎麼匹配{}的
[[ 跳到上一個代碼塊(‘{‘必須獨佔一行)
]] 跳到下一個代碼塊
gD 跳轉到局部變數定義處
‘‘ 跳轉到游標上次停靠的地方,是兩個‘‘,不是一個"
mx 設定書籤,x是a-z的26字母
`x 跳轉到書籤處("`"是1左邊鍵)
///進入v模式,才可以多行縮排
> 增加縮排,"x>"表示增加當前行以下x行的縮排
< 跟上面相反
ctrl+] 跳轉到游標所行的標籤處
ctrl+t 跳回上一個標籤
ctrl+o 返回上一個標籤
ctrl+w+] 新視窗顯示當前游標下標籤,游標跳到標籤處 (:close可以關閉新視窗)
:tag tagname 將當前視窗檔案替換為包含標籤的檔案
:stag tagname 分割當前視窗並游標跳到標籤處(:split and :tag tagname )
:tnext 跳轉到同一個標籤的其他匹配處
:tselect tagname 顯示tgname一個列表,然後以輸入匹配號,跳到指定的tagname標籤處
:tfirst 跳到第一個匹配的標籤
:[count]tprevious 向前[count]個匹配的標籤處
:[count]tnext 向後[count]個匹配的標籤處
:tlast 匹配最後一個標籤
:tag write_<TAB> 自動補全剩餘部分
:tag /block 標籤名前面的"/"告訴vim這不是一個確定的標籤名而是一個模式,然後找到所有
匹配block標籤
:ptag tagname 開啟預覽視窗顯示tagname標籤
:pclose 關閉預覽視窗
:pedit filename 在預覽視窗編輯指定檔案
:psearch word 尋找當前檔案和任何包含word的檔案,並在預覽視窗顯示匹配的word(很少用,
並且很容易搜尋到注釋裡面的word)
""""""""""""""""""""""""""""""""""cscope Cmd"""""""""""""""""""""""""""""""""""""
1. cscope cmd parameters
-R: 在產生索引檔案時,搜尋子目錄樹中的代碼
-b: 只產生索引檔案,不進入cscope的介面
-q: 產生cscope.in.out和cscope.po.out檔案,加快cscope的索引速度
-k: 在產生索引檔案時,不搜尋/usr/include目錄
-i: 如果儲存檔案清單的檔案名稱不是cscope.files時,需要加此選項告訴cscope到哪兒去找源檔案列
表。可以使用"-",表示由標準輸入獲得檔案清單。
-I dir: 在-I選項指出的目錄中尋找標頭檔
-u: 掃描所有檔案,重建交叉索引檔案
-C: 在搜尋時忽略大小寫
-P path: 在以相對路徑表示的檔案前加上的path,這樣,你不用切換到你資料庫檔案所在的目錄也可以使用它了。
2. :cscope find cmd params
s: 尋找C語言符號,即尋找函數名、宏、枚舉值等出現的地方
g: 尋找函數、宏、枚舉等定義的位置,類似ctags所提供的功能
d: 尋找本函數調用的函數
c: 尋找調用本函數的函數
t: 尋找指定的字串
e: 尋找egrep模式,相當於egrep功能,但尋找速度快多了
f: 尋找並開啟檔案,類似vim的find功能
i: 尋找包含本檔案的文A件
"""""""""""""""""""""""""""""bufexplorer Cmd"""""""""""""""""""""""""""""""""""
""""""""""""""""""""""""""""""""""""omnicppcomplete Cmd""""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""""""c.vim plugin Cmd"""""""""""""""""""""""""""""""
vim配置後續再說,敬請期待
by 吳尚奇 2014/05