vim 被譽為『編輯器之神』,與之同時代的 emacs 被譽為『神之編輯器』。可以看得出 vim 在編輯器的地位是很高的,得益於 vim 的指法,敲起**來如行雲流水。
特別膜拜創始人創始出這麼方便的敲**的指法,這篇文章就是來帶你入坑 vim 指法操作。在當今前端開發工具百花齊放的時代(vs code、sublime、atom 以及 ide webstorm),我為什麼還要介紹 20 多年前開發的乙個老古董呢?
在這裡我想說的是出身雖然老,但是所帶來的價值並沒有減,一旦習慣了 vim 的指法之後,你會覺得不用 vim 操作寫**會覺得很不習慣,甚至不知道怎麼操作。
然而用在支援 vim 指法的編輯上寫**你會覺得如行雲流水,如果再配個機械鍵盤,簡直是享受,特別符合極客的風格。
一旦學會了 vim 的指法,會讓你終身受益,至少在你敲**的年代會收益,毫無誇張, 它會讓你擺脫煩人的,在敲**的時候頻繁的移動滑鼠,這也是 vim 的設計理念之一 -- 脫離滑鼠。本篇文章比較適合前端開發者,因為我也只是用 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],例如 刪兩個單詞就是3.1.1 最基本的 h、j、k、ld2w,operator 和 motion 我已經在前面給出來一些了。
最基本的上下左右移動(跟鍵盤上下左右的鍵盤效果相同,但是往往方向鍵在鍵盤的右下方,離主鍵盤區較遠,這個也相對比較有優勢):
移動屬於 motion,所以在前面加上「count」就可以移動多行了,比如向上移動 10 行,就可以 10k。
往往編輯器會有行號,定位需要做個加減法,如果採用的是相對行號,用這個就比較方便。不懂相對行號的同學看下圖就懂了。
相對行號
3.1.2 快速移動
w:游標往前移動乙個詞
b:游標向後移動乙個詞
0:移動游標到當前行首
^:移動游標到當前行的第乙個字母位置(注意與 0 的區別)
$:移動游標到行尾
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入門教程
h代表向左 j代表向下 k代表向上 l代表向右 當然你也可以用鍵盤的上下左右替代 我們每次移動的時候希望快一點,每次移動乙個詞,這個時候你可以用w和b來進操作,w每次向後移動乙個詞,b每次向前移動乙個詞。shift v 移動游標,就可以選中多行,這個是整行選擇 直接按下v 可以隨意選中 加上你要搜尋...
vim 刪除當前詞 vim 刪除乙個單詞
vim 刪除乙個單詞 vim中刪除技巧 s ctrl v enter g 刪除dos方式的回車 m s 刪除行尾空白 sort u 刪除重複行 s pdf new.pdf 只是刪除第乙個pdf s 刪除多行注釋 g d 刪除所有空行 g dd d 刪除不含字串 dd 的行 v dd d 刪除不含字串...
git 入門教程之刪除檔案
回憶一下檔案的常見操作,新增檔案,修改檔案,刪除檔案等,新增和修改檔案都單獨討論過,現在我們來研究一下如何刪除檔案.你可能會說刪除檔案還不簡單啊,直接rm rf即可,但是這僅僅是本地檔案被刪除了,對於git來說,檔案並沒有被刪除.還記得我們開篇介紹git時就說過,一切操作皆版本,對於新增是乙個版本,...