我還是推薦所有剛入門vim的朋友先去用vimtutor練習,然後去看vim的幫助文件,寫的十分仔細,而且可以馬上實戰,見效很快,以下的很多示意圖都是vim幫助文件裡的例子,我覺得很好,就拿出來了。
vim之所以高效的原因是因為它有一套高效的移動機制,作為學vim,可以說這一部分你不得不看,這可以大大減少了文章內移動的擊鍵數,而且脫離的滑鼠的束縛,讓雙手基本不用離開鍵盤操作。
vim的基本操作無非是上(j)下(k)左(h)右(l) ,這個大家很熟悉了,當然,鍵盤的上下左右也是可以用的,但是相信我,等你用慣它自己這個,你會離不開它
jh l
k
vim的所有指令基本都可以加數字,表示執行次數,也就是說,移動指令也支援:
10h 左移動10格20j 上移20行
vim的高效從這裡才正式體現:
0 移動至行第乙個字元^ 移動至行第乙個非空白字元
$ 移動至行最後乙個字元
^<------------
.....this is a line with example text
<----------------- --------------->
0 $
(這裡 "....." 表示空白字元)
以上命令比較重要,另外,如果你的文字區顯示得比較小,一行會被摺疊成幾行,你可能會用到以下的命令,以下的命令全是以螢幕為參考而不是實際的行
g0 至螢幕行第乙個字元 (當行迴繞時和 "0" 不同)g^ 至螢幕行第乙個非空白字元 (當行迴繞時和 "^" 不同)
g$ 至螢幕行最後乙個字元 (當行迴繞時和 "$" 不同)
gm 至螢幕行中
w 跳到下個單詞開頭b 向前跳到上個單詞開頭
e 跳到下個單詞詞尾
ge 向前跳到上個單詞詞尾
b b b 2b b
<----<--<-<---------<---
this is a line with example text
--->-->->--------------------->
w w w 3w
this is a line with example text ~
<-<--- -----> ---->
ge ge e e
同樣,這個裡面也有幾個其他命令,上面命令的大寫,跳過的單位均是以空白字元分割的字串,很好記
w 跳到下個字串(以空白字元分割)b 跳到上個字串(以空白字元分割)
e 跳到下個字串尾部(以空白字元分割)
ge 向前跳到上個字串詞尾
f 向下查詢某個字母出現的位置這裡就乙個提示,這裡可以用' ; ' 進行重複操作,比如:按下fe,跳到err的e,再次按下; ,跳到really的e, 再次按下; 跳到need的ef 向上查詢某個字母出現的位置
t 向下查詢某個字母出現的位置前
t 向上查詢某個字母出現的位置前
fh<---------------------
to err is human. to really foul up you need a computer.
-------->------------------->
fh fy
to err is human. to really foul up you need a computer.
<------------ ---------------->
th tn
匹配移動在**塊中使用非常多,而且效率特別高,用這個命令可以輕鬆的在(), [ ] 中跳轉,它幫你找匹配的括號,方便的很
% 跳到匹配的括號 (這個命令也可適用於 和 {}。(可用 'matchpairs' 選項定義))%<----->
if (a == (b * c) / d) ~
<---------------->
%
注意:游標不在乙個有用的字元上,"%" 會先 正向 查詢找到乙個,再按一次會移動到它的匹配處(比如在下面游標在=處,首先匹配的是(b * c)的左括號,再是它的右括號
if (a == (b * c) / d) ~+--->--->
%
gg 跳到檔案首g 跳到檔案尾
ng 跳到特定n行(**除錯常用)
n% 跳到大約n%的位置
h 跳到視野內頂部m 跳到視野內中間
l 跳到視野內下面
+-------------------------------+
h --> | text sample text |
| sample text |
| text sample text |
| sample text |
m --> | text sample text |
| sample text |
| text sample text |
| sample text |
l --> | text sample text |
+-------------------------------+
滾屏主要是閱讀文件有用,有滾半屏,一屏,一行(這個就不說了,意義不大)
ctrl-u 向上滾動半屏,文字下移動 upctrl-d 向下滾動半屏,文字上移動 down
ctrl-b 向後滾動一屏,文字下移動 backward
ctrl-f 向前滾動一屏 ,文字上移動 forward
移動中的乙個常見問題是,當你用 "j" 向下移動的時候,你的游標會處於螢幕的底部,你可能希望,游標所在行處於螢幕的中間。這可以通過 "zz" 命令實現。
zz 游標移動到螢幕中間zt 游標移動到螢幕頂部 (top)
zb 游標移動到螢幕底部(bottom)
+------------------+ +------------------+
| some text | | some text |
| some text | | some text |
| some text | | some text |
| some text | zz -->| line with cursor |
| some text | | some text |
| some text | | some text |
| line with cursor | | some text |
+------------------+ +------------------+
VIM高效編輯
雖然從很久前就開始用 vim 了,但一直都是半調吊子,翻來覆去只用自己會的命令。最近為了提高書寫 的效率,還有 coding 時候的樂趣,又重新鑽研了一下 vim,發現了一篇很好的 vim 入門的文章,原文是英文版的,我覺得非常適合 vim 使用入門,所以翻譯了過來。這裡是簡單的介紹了 vim 的操...
vim高效使用
第二級 感覺良好 各種插入模式 簡單的移動游標 拷貝 貼上 undo redo 開啟 儲存 退出 改變檔案 buffer 花點時間熟悉一下上面的命令,一旦你掌握他們了,你就幾乎可以幹其它編輯器都能幹的事了。但是到現在為止,你還是覺得使用vim還是有點笨拙,不過沒關係,你可以高階到第 了。第 更好 更...
VIM高效操作
這篇教程寫了在不同工作模式下使用vim的一些基本技巧 即插入模式 insert mode 命令模式 command mode 訪問檔案等。目的是幫助剛剛接觸vim的新手更加有效率的使用這個出色的編輯器。說明 在這篇文章裡面,代表ctrl x 就是按住ctrl鍵然後再按x。而且你可以在很多情況下使用 ...