在vim下可以使用常用的箭頭鍵
但是 還有其它鍵可以讓你更快的達到目標
hjkl 這是代替箭頭鍵功能的
h m l 跳到螢幕的頂上 中間 下方
w 跳到下乙個單詞的開始
e 跳到單詞的結束
b 向後跳
gg 跳到檔案的開始
g 跳到檔案的結束
10gg 或10g 跳到第10行
ta 跳到下乙個a 前面
fa 跳到下乙個a
大寫的意思相反
另外還有%(跳到檔案的%多少) 和|(跳到第幾列) 不過我很少用
上面的都可以加上數字字首 表示第幾個匹配
另外看檔案時 除了pageup pagedown外還有其它的快速鍵
如ctrl-f 向前一頁 ctrl-b 向後一頁
^ 行首
$行尾0 第乙個字元
另外上面也作為vim其它命令的定位符 如刪除d
dt)一直刪除到這行的)
另外 懂了跳轉鍵後 那刪除或是複製時就不再是以行為單位了 可以指定到某個條件
我覺得這是新手成長的必要方法
另外還有ctrl-t ctrl-i ctrl-]
如果已經使用了ctags 或是cscope建立索引檔案的話 那看**時很是方便
跳轉到函式、變數定義處:
[+ctrl+i 跳轉到函式、變數和#define
[+ctrl+d 跳轉到#define處
ctrl+i 向前跳到前幾次游標位置
ctrl+o 向後跳到後幾次游標位置
函式體跳**
[]][{}
2009-07-07 17:31 補充
如何選中括號中的內容 進行:
將游標移至括號內,按shift+v進入行選模式,然後
i{ - 選小括號中內容,不包括小括號
a{ - 選小括號中內容,包括小括號
ib - 選中括號中內容,不包括括號
ab - 選中括號中內容,包括括號
i{ - 選大括號中內容,不包括大括號
a{ - 選大括號中內容,包括大括號
:h text-objects
下面還有些相關的tips,未全部驗證:
vi中間的內容,不包括{}
va中間內容,包括{}
vi( 選中()中間內容
vi< 選中<>中間內容
vi[ 選中中間內容
vit 選中中間的內容
vi」 選中」"中間內容
vi』 選中」中間的內容
vis 選中乙個句子
vib 選中乙個block
viw選中乙個單詞
vip 選中乙個段落
在normal模式下游標停在某個字元上ga可以檢視該字元的ascii碼
#複製刪除貼上的操作:按v(shift+v),進入可視模式,jk上下選擇需要的行,然後按
y 複製
d 刪除
x 剪下
p 貼上
可視模式很好用,例如想把兩行的所有單詞變成小寫,按v然後按j或k選中這兩行,按gu即可
#跳到行首按0,但實際更好用的是^, 跳到行首非空白字元
#折行前空出4字元顯示折行標識
set foldcolumn=4
#摺疊或展開(在摺疊的那一行左右移動游標也可展開摺疊)
za#刪除游標所在行所處的範圍的摺疊
zd#當在:set foldmethod=marker後,折行會把}}之間的內容摺疊
#不在單詞中間斷行。 設定了這個選項後, 如果一行文字非常長, 無法在一行內顯示完的話,
它會在單詞與單詞間的空白處斷開, 盡量不會把乙個單詞分成兩截放在兩個不同的行裡。
set lbr
#sw是shiftwidth的縮寫,表縮排列數
fx把游標移動到該行的下個x字元上,這個x也可以是乙個漢字,;重複fx操作。fx把游標移動到該行的上乙個x字元上。
gg游標定位到第一行開頭,g定位到最後一行開頭
h游標跳到當前視窗顯示文字的第一行
m游標跳到當前視窗顯示文字的中間一行
l游標跳到當前視窗顯示文字的最後一行
g*查詢包含當前單詞的所有單詞(*只查詢與當前單詞精確匹配的單詞),
-d游標下跳半屏,文字上滾半屏
-u游標上跳半屏,文字下滾半屏
-e文字向上滾動一行
zz螢幕滾動使得當前行成為螢幕的中間一行
normal模式下按j刪除此行末尾的換行符,從而合併兩行
:e!重新讀進上次儲存的此檔案內容
:ab myname william_djj
以後再編輯時鍵入myname,然後空格或回車myname串就會被william_djj代替
:r !date
在當前位置插入系統時間(linux下的date命令),同理當前位置插入某檔案的內容就是
:r filename
:set ignorecase
查詢時取消case sensitive
:set noignorecase
查詢時case sensitive
############ 使用tags ###################
以下命令遞迴當前目錄下的所有檔案建立tags檔案
ctags -r .
vim開啟當前目錄下的任意一檔案,命令模式下鍵入下面語句以指定剛才建立的tags的位置,以後就可以在不同檔案間查閱函式
set tags=../tags
#分割視窗顯示當前函式的定義
-w ]
##########################################
如果外掛程式目錄下有echofunc.vim,用以下命令生成tags,以後編輯**函式名後打「(「時有引數提示。
$ ctags -r –fields=+ls .
:tlist開啟左邊乙個taglist的視窗,顯示symbols。要注意的是在windows下如果tags檔案路徑中有空格或中文會報找不到tags檔案的錯誤,
+w+w 或者+w+left/right 視窗切換
+] 進入游標所指的symbol的定義(如果用滑鼠也是+滑鼠左鍵,跟si的用法一樣)
+t 返回第乙個用+t 跳轉位置,注意+o是跳回上乙個檢視,而+t是跳回上一次按+]的位置
#以下命令**出乙個視窗顯示定義處
ptag 函式名
#以下命令關閉剛才開啟的**視窗
pclose
#垂直**視窗開啟一檔案
vsplit 檔名
#水平**視窗開啟一檔案
split 檔名
變數名寫成/name表示匹配模式
停在某個括號上按%,跳到匹配的括號處,#if跳到匹配的#else或#endif處
set fdm=syntax摺疊函式體
雙擊]往後逐個函式跳讀,雙擊[往前逐個函式跳讀
#解決亂碼
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
#在vim下對比兩個檔案,原來開啟了fnpro.c,現在和fnpro.c.bak對比
#垂直分割
:vert diffsplit fnpro.c.bak
#水平分割
:diffsplit fnpro.c.bak
#跳到下乙個不同之處
:]c#跳到上乙個不同之處
:[c#展開摺疊:zo
#摺疊:zc
#不論何種情況下-o都可以上一次跳轉的地方
#檢視變數和函式的申明
[i#以下為檢視vim環境引數makeprg的值的例子:
:set makeprg?
#重新對檔案**進行縮排
gg=g
跳 轉 到函式 、變數定義處:
[+ctrl+i 跳 轉 到函式 、變數和#define
[+ctrl+d 跳 轉 到#define處
ctrl+i 向前跳 到前幾次游標位置
ctrl+o 向後跳 到後幾次游標位置
函式 體跳 轉 :
[]][{}
2009-07-07 17:31 補充
如何選中括號中的內容 進行:
將游標移至括號內,按shift+v進入行選模式,然後
i{ - 選小括號中內容,不包括小括號
a{ - 選小括號中內容,包括小括號
ib - 選中括號中內容,不包括括號
ab - 選中括號中內容,包括括號
i{ - 選大括號中內容,不包括大括號
a{ - 選大括號中內容,包括大括號
:h text-objects
下面還有些相關的tips,未全部驗證:
vi中間的內容,不包括{}
va中間內容,包括{}
vi( 選中()中間內容
vi< 選中<>中間內容
vi[ 選中中間內容
vit 選中中間的內容
vi」 選中」"中間內容
vi』 選中」中間的內容
vis 選中乙個句子
vib 選中乙個block
viw選中乙個單詞
vip 選中乙個段落
vim檔案跳轉
如果使用vim 開啟了多個檔案 ,如vim file1 file2 ... filen
可以通過
:n 或 :prev來跳轉 到前乙個或者後乙個檔案
還可以通過
:first或:last來跳轉到第乙個和最後乙個檔案
如果你只開啟乙個檔案,如vim file1
然後在使用過程中,通過
:e file2編輯了第二個檔案,這時, :prev是不起作用的
可以用:e#返回上乙個編輯的檔案
無論哪兩種方式都可以用
:bn跳轉到開啟的第n個檔案
如:b1跳轉到第乙個開啟的檔案
vim跳轉命令
ta 跳到下乙個a 前面 fa 跳到下乙個a 大寫的意思相反 另外還有 跳到檔案的 多少 和 跳到第幾列 不過我很少用 上面的都可以加上數字字首 表示第幾個匹配 另外看檔案時 除了pageup pagedown外還有其它的快速鍵 如ctrl f 向前一頁 ctrl b 向後一頁 上面不是重要的 ct...
vim函式跳轉技巧
hjkl 這是代替箭頭鍵功能的 h m l 跳到螢幕的頂上 中間 下方 w 跳到下乙個單詞的開始 e 跳到單詞的結束 b 向後跳 gg 跳到檔案的開始 g 跳到檔案的結束 10gg 或10g 跳到第10行 ta 跳到下乙個a 前面 fa 跳到下乙個a 大寫的意思相反 另外還有 跳到檔案的 多少 和 ...
vim游標移動 跳轉
vim的三個模式 命令列模式 插入模式 底行模式 從命令模式到插入模式 a 游標後輸入 a 行尾輸入 i 游標前輸入 i 行首輸入 o 上一行輸入 o 下一行輸入 c 刪除到行尾的全部字元,然後進入插入 移動游標 hjkl 行首 0 行尾 翻頁 上ctrl f 下ctrl b 可以讓游標從它當前所在...