個人站點:桃園vim 被譽為『編輯器之神』,與之同時代的 emacs 被譽為『神之編輯器』。可以看得出 vim 在編輯器的地位是很高的,得益於 vim 的指法,敲起**來如行雲流水。特別膜拜創始人創始出這麼方便的敲**的指法,這篇文章就是來帶你入坑 vim 指法操作。
在當今前端開發工具百花齊放的時代(vs code、sublime、atom 以及 ide webstorm),我為什麼還要介紹 20 多年前開發的乙個老古董呢?在這裡我想說的是出身雖然老,但是所帶來的價值並沒有減,一旦習慣了 vim 的指法之後,你會覺得不用 vim 操作寫**會覺得很不習慣,甚至不知道怎麼操作。然而用在支援 vim 指法的編輯上寫**你會覺得如行雲流水,如果再配個機械鍵盤,簡直是享受,特別符合極客的風格。
一旦學會了 vim 的指法,會讓你終身受益,至少在你敲**的年代會收益,毫無誇張, 它會讓你擺脫煩人的,在敲**的時候頻繁的移動滑鼠,這也是 vim 的設計理念之一 -- 脫離滑鼠。
本篇文章比較適合前端開發者,因為我也只是用 vim 在前端領域做過一些開發,其他領域我沒有發言權。
a:當然不是。首先 vim 的學習成本還是很高的,因為他跟平時我們用的編輯器敲**的方式根本不同,因為它是不用滑鼠的,純鍵盤操作。你想想如果你在你的 vs code 上不用滑鼠操作,你上下左右全靠方向鍵,那敲**的速度得有多慢。而且初學者想把 vim 打造成乙個自己的 ide 還是很有難度的。所以我這裡推薦的是,不管是你的 vs code、sublime等,裝乙個 vim 外掛程式。我在 vs code 上試過,很爽,只不過現在投身到 emacs 的懷抱了。
雖然我用 emacs 了,我還是會裝 vim 外掛程式(evil)。如果有興趣,下次可以推薦一下 spacemacs 。開題說了這麼多,就是想吸引一下大家,覺得 vim 的指法是值得去學習的,接下來進入正題。
vim 上的所有定義的快捷鍵都是有一定的意義的,在這裡我先把常用的一些列出來。
h(左)、l(右)、j(上)、k(下)、f(front)、b(back)、u(up)
w(word)、s(sentence)
vim 裡面有好幾種模式,但是因為我這裡介紹的是在目前的編輯器裡面裝 外掛程式,所以像命令模式這種用來儲存檔案、退出檔案的就不介紹了。
nomal mode(預設模式,因為使用該模式場景最多,所有定為預設模式)。
insert mode (插入模式--少用,用了它 vim 就成 「啞巴」了)。
visual mode(可視模式,取名叫游標模式或者選擇模式可能還比較好理解)
當我們記住上面的助記符之後,我們就可以像寫英文短語一樣操作了。
vim 快捷鍵語法:[operator][count][motion],例如 刪兩個單詞就是 d2w,operator 和 motion 我已經在前面給出來一些了。3.1.1 最基本的 h、j、k、l
最基本的上下左右移動(跟鍵盤上下左右的鍵盤效果相同,但是往往方向鍵在鍵盤的右下方,離主鍵盤區較遠,這個也相對比較有優勢):
移動屬於 motion,所以在前面加上「count」就可以移動多行了,比如向上移動 10 行,就可以 10k。往往編輯器會有行號,定位需要做個加減法,如果採用的是相對行號,用這個就比較方便。不懂相對行號的同學看下圖就懂了。
3.1.2 快速移動
w:游標往前移動乙個詞 b:游標向後移動乙個詞 0:移動游標到當前行首 ^:移動游標到當前行的第乙個字母位置(注意與 0 的區別) $:移動游標到行尾 fx:移動游標到當前行的下乙個 x 處(x為任意字母) tx:和上面乙個命令類似,移動到 x 的左邊乙個位置 ):移動游標到下乙個句子 ( :移動游標到上乙個句子 :移動游標到下一段
3.1.3 快速定位
在剛才介紹了通過相對行號來進行移動到行的游標,還有採用絕對定位來移動的。那就是 gg。 語法: [num]gg
在 normal 模式下是沒有刪除操作的,d 這種刪除也是剪下。
以上全是 normal 模式在前面也說了,進入編輯模式也就變成了「啞巴」vim 了,就跟一般的編輯器沒什麼區別了。很多人就知道用 i 可以進入,還有很多命令可以讓你聰明的進入。
要是前面都學會了,可視模式就比較簡單了,而且你將會經常用到這個模式。我會把這個模式稱做「選擇模式」,接下來我們就來探索一下是如果選擇的。
其實也就兩個關鍵的點:v(字元選擇)、v(行選擇)
3.4.1 v(小寫 v)
在 normal 模式下,按一下 v,然後可以按 l,重複按 l,你會發現右邊的在一直被選中(高亮的部分)。同樣的操作,按了 v,然後再練習一下按 h、j、k。
選中的目的是什麼呢?就是為了進行一些編輯操作,比如刪除 d (實質是剪下)、複製 y。
小提示,常常選中之後用 c 也是比較好的選擇哦,剪下並進入插入模式。3.4.2 v(大寫 v)
v 就是選中行,也很簡單。按了 v 之後,然後按 j、k,就可以上下選擇行了,然後一次性刪除 d、複製 y,就比較方便。
operator 就是我們前面提到的插入(c)、剪下(d)、複製(y)以及選擇(v),i 表示 scope 範圍內,a 表示包含 scope 標籤,scope 就是操作的範圍了。例項: 以下如果將 i 換成 a,則會將符號也包含進去
這些操作一般編輯器都自帶有很好的快捷鍵,記不住也沒啥。
我寫這篇文章的目的不是為了總結什麼知識點(其實當你 vim 用熟了,這些命令完全角成肌肉記憶了,根本不用記下來),或者說想發篇文章之類的,僅僅是想給 vim 做乙個宣傳,讓更多的人接觸 vim,讓更多的開發者在開發上效率更高。如果你覺得這篇文章對你有幫助,請**給更多的人讓他們都了解了解。
最後想提醒的就是,對於這些快捷鍵,死記是很難記完的,根據我總結的一些語義話的方式去記,有公式的記公式,可能要快一點,然後就是多實踐,敲多了自己就記住了。我剛開始學的時候,還不知道有那些助記符,基本完全靠死記硬背,我就是用一張紙,然後把命令手寫抄到紙上,放在我的電腦旁,忘了就馬上拿來看看,別說,效果還挺好的。
祝你們好運!
vim 入坑指南
個人站點 桃園vim 被譽為 編輯器之神 與之同時代的 emacs 被譽為 神之編輯器 可以看得出 vim 在編輯器的地位是很高的,得益於 vim 的指法,敲起 來如行雲流水。特別膜拜創始人創始出這麼方便的敲 的指法,這篇文章就是來帶你入坑 vim 指法操作。在當今前端開發工具百花齊放的時代 vs ...
vim編輯器入坑指南
最近在伺服器上要新增環境變數,我勒個去。vim太難用了,小白表示很無奈,還好我的心態有點 在說啥尼,回歸正軌 首先看了這兩篇重要的部落格 看了這篇部落格,勉強的進入了,輸入 i 勉強進入了編輯模式 接下來,怎麼退出?尷尬,退不出來了,各種敲鍵盤。試了這篇部落格,按住shift和 一定看清,這是兩個鍵...
Kafka入坑指南
kafka是為大資料而生的訊息中介軟體,以其百萬級tps的吞吐量名聲大噪,迅速成為大資料領域的寵兒,在資料採集 傳輸 儲存的過程中發揮著舉足輕重的作用,而storm,spark,flink等大資料流處理或批處理平台都有kafka的相關外掛程式支援。本著為開源做貢獻的原則,在學習kafka的同時也參與...