【進(jìn)擊的Vimmer】vim學(xué)習(xí)路線圖3——中級移動

當(dāng)你弄熟了hjkl,正得意的“飛快”地上下左右移動光標(biāo)的,這時候需要給你潑潑冷水了。學(xué)會hjkl是第一步,忘記hjkl是接下來的方向。你看到這句話一定會感覺很裝逼,但是這句話是vim大神總結(jié)出來的“秘籍”,而且還專門為此做了一個練習(xí)的插件:wikitopian/hardmode。

這個插件的變態(tài)之處就在于沒有上下左右的概念,當(dāng)你call HardMode()之后,你會發(fā)現(xiàn)世界上竟有如此愚蠢的設(shè)計,瞬間又回到了當(dāng)初什么都不會的年代,各種不適應(yīng),估計不消幾秒,你就想要繳械投降了吧。此時你會看到屏幕下方來自大神的嘲諷——You are weak,看來大神為了培養(yǎng)新鮮血液真是用心良苦。

言歸正傳,除了hjkl之外,vim還有大量的更加高效的移動方式。主要有以下幾種:

w、 e、 W、? E、? $、? ^、0、? gg、 G、CTRL-f、CTRL-b

基本移動

每個指令的作用幫助文檔里面都有比較詳細(xì)的介紹。比如:help w,上圖中的iw/aw需要配合別的指令來使用,下面會有事例。

解釋一下w/W的區(qū)別:比如“help_123"既是word也是WORD,而"help-123"是一個WORD,2個word。單個word一般是由字母/下劃線/數(shù)字等組成,具體組成是在iskeyword中定義,單個WORD包含所有非空格的字符。具體可參考。

上面的都是一般入門都會接觸的,下面是稍微高級一點但是非常重要的

+ / - ? ? ? ? ? ? ? ? ? 移動到下一行/上一行開頭

H / L / M ? ? ? ? ? ?移動到當(dāng)前屏幕的最上方/最下方/中間

{ / ( ? ? ? ? ? ? ? ? ? ?光標(biāo)向后移動一個段落(以空行隔開)/一句(通常以.結(jié)尾)

ctrl-e / ctrl-y ? ? ? 向上/向下滾動屏幕

Ctrl+d? / Ctrl+u ? 往前/向后滾動半屏

還有一些沒怎么用過,但是還是列出來

z<CR> ? ? ? ? ? ? ??將光標(biāo)所在行移動到屏幕頂端

z. ? ? ? ? ? ? ? ? ? ? ? 將光標(biāo)所在行移動到屏幕中間

z- ? ? ? ? ? ? ? ? ? ? ? 將光標(biāo)所在行移動到屏幕低端

掌握了上面的一些命令可以顯著地提升光標(biāo)移動的效率,但這還只能算是入門,下面這四個應(yīng)該可以說是vim的效率擔(dān)當(dāng)了。

f/F/t/T

比如如下一行字,光標(biāo)在開頭處,如何迅速定位到括號,并修改()里的內(nèi)容呢?

public void test(String paraW){}

光標(biāo)移到行首,依次輸入f(ci(,是不是很神奇?坐下坐下,正常操作。相比l以及w都略快吧,f和t的區(qū)別在于f會跳轉(zhuǎn)到行內(nèi)查找的字符(包含),而t會跳轉(zhuǎn)到查找到的字符的前一位(不包含),你可能會感覺上面的指令超綱了,在此稍微翻譯一下,f(是指將光標(biāo)移動到第一個左括號處,c表示修改,i(表示括號內(nèi)的內(nèi)容,連起來就是將光標(biāo)移動到左括號并修改括號里面的內(nèi)容。你是不是發(fā)現(xiàn)原來所謂的指令其實是非常簡潔而美麗的語言?

熟練掌握了以上移動指令后,hjkl可以退居二線了。回到hardmode,現(xiàn)在h/l可以用w/W/e/E或者f/F來代替,如果一行很長,f/F的效率絕對比左右移動高,j可以用0b,k可以用$w來代替,如果你感覺$鍵效率太低,可以map ,l $,具體可以參考之前的配置相關(guān)的內(nèi)容,雖然你會發(fā)現(xiàn)有的時候hjkl的效率可能會高一些,但是沒辦法,先忍一忍,熟練之后,再恢復(fù)easymode,到那時vim還是那個vim,你已經(jīng)不是那個只會上向左右的你了。

另外推薦一下武功秘籍:vim/vi 如何高效使用(鍵盤圖打印版),可以打印下來沒事多瞅瞅,多實踐就是了。

vim鍵位圖

掌握了這一章的內(nèi)容,相信你已經(jīng)是一個合格的vimmer了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • vim 選擇文本,刪除,復(fù)制,粘貼 文本的選擇,對于編輯器來說,是很基本的東西,也經(jīng)常被用到,總結(jié)如下: v 從...
    壹首簡單的歌閱讀 943評論 0 7
  • 1. vim 選擇文本,刪除,復(fù)制,粘貼 文本的選擇,對于編輯器來說,是很基本的東西,也經(jīng)常被用到,總結(jié)如下:v ...
    路癡千行閱讀 3,417評論 0 0
  • 命令歷史 以:和/開頭的命令都有歷史紀(jì)錄,可以首先鍵入:或/然后按上下箭頭來選擇某個歷史命令。 啟動vim 在命令...
    im螞蟻閱讀 31,068評論 3 48
  • Vim幾句話介紹Vim是Unix系統(tǒng)上的文本編輯軟件(你該不會不知道什么是文本編輯軟件吧!),在windows上也...
    何必遠(yuǎn)方閱讀 3,329評論 0 3
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,708評論 9 468

友情鏈接更多精彩內(nèi)容