vim小記 vim的高效移動

2021-06-27 22:16:03 字數 3906 閱讀 9811

我還是推薦所有剛入門vim的朋友先去用vimtutor練習,然後去看vim的幫助文件,寫的十分仔細,而且可以馬上實戰,見效很快,以下的很多示意圖都是vim幫助文件裡的例子,我覺得很好,就拿出來了。

vim之所以高效的原因是因為它有一套高效的移動機制,作為學vim,可以說這一部分你不得不看,這可以大大減少了文章內移動的擊鍵數,而且脫離的滑鼠的束縛,讓雙手基本不用離開鍵盤操作。

vim的基本操作無非是上(j)下(k)左(h)右(l)  ,這個大家很熟悉了,當然,鍵盤的上下左右也是可以用的,但是相信我,等你用慣它自己這個,你會離不開它

j

h        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          向下查詢某個字母出現的位置

f         向上查詢某個字母出現的位置

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

這裡就乙個提示,這裡可以用' ; ' 進行重複操作,比如:按下fe,跳到err的e,再次按下;  ,跳到really的e, 再次按下;  跳到need的e 

匹配移動在**塊中使用非常多,而且效率特別高,用這個命令可以輕鬆的在(),   [  ] 中跳轉,它幫你找匹配的括號,方便的很

%       跳到匹配的括號     (這個命令也可適用於  和 {}。(可用 '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        向上滾動半屏,文字下移動  up

ctrl-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。而且你可以在很多情況下使用 ...