CSDN 的小伙伴們,大家好,我是沉默王二,
寫完 Shell 那篇后就想寫 Vim 了,因為人類史上最好的文本編輯器就是 Vim,不贊同的請自覺持有保留意見,哈哈哈,
Better, Stronger, Faster.
用這三個單詞來贊美 Vim,一點都不為過,只不過,Vim 的學習曲線相當的大,這是一個連我都不得不承認的事實,就好像彈一把吉他,一開始學起來非常痛苦,簡直想摔了它,但學會后,就能感受到樂器的無限魅力,以及學妹崇拜的小眼神,
來吧,下定決心擁抱它,沒有比它更好的文本編輯器了,非常地難學,但卻不可思議地好用,
01、初識 Vim
Vim 有著悠久的歷史,80 年代末,布萊姆·米勒在一個開源的 vi(更早的一種計算機文本編輯器,我記得有個讀者的網名就叫這個)基礎上開發了 Vim 1.0 版本,
1994 年,Vim 3.0 中加入了里程碑式的多視窗編輯模式,
1996 年,Vim 4.0 中加入了圖形化界面的版本,
1998 年,Vim 5.0 中加入了語法高亮的功能,
,,,,,,
總之是,越來越強!最新的版本是 8.0,啟動界面里會顯示一句非常暖心的話——「Help poor children in Uganda」,翻譯過來就是「請幫助烏干達的可憐孩童」,這讓我想起來我最喜歡的一支樂隊——Beyond 的一首歌《Amani》,
打開終端,鍵入「vim」,就可以進入啟動界面了,如下圖所示,

Vim 有很多聰明的設計,所以很多其他工具也支持 Vim 模式,比如說 Visual Studio Code,很牛掰的一點是,Vim 逃離了滑鼠的“魔掌”,只通過鍵盤就可以肆意地操作文本,
鍵入 :help 就可以查看 Vim 的幫助檔案,盡管檔案是英文的,但這的確是最權威的 Vim 學習資料了,聽我一句勸,耐著性子讀一讀吧!

鍵入 :q 可以退出幫助檔案,當然了,如果英文讀起來確實痛苦了些,我還為你準備了在線的中文翻譯檔案,看這里:
https://yianwillis.github.io/vimcdoc/doc/help.html

02、實操 Vim
俗話說,“光說不練假把戲,”咱們直接上手來體驗一把,鍵入 vim xxx 命令,如下圖所示,

隨后敲回車鍵,就進入 xxx 檔案的閱讀模式了,如下圖所示,

在閱讀模式下,你需要嘗試下面這些命令,
- 上下左右移動:對應上下左右鍵
- 按照詞移動:w(下一個詞),b(單詞的第一個字母),e(單詞的最后一個字母),不適合中文
- 按照行移動:0(第一行),$(行尾),
:+行數直接跳轉到指定的行(此處的+意味著按下:后,再輸入行數,比如 10) - 按照螢屏移動:H(螢屏頂部),M(螢屏中間),L(螢屏底部)
- 翻頁:不同的鍵盤有所不懂,比如說 Mac 的巧克力鍵盤,
fn+↑鍵向上翻,fn+↓鍵向下翻(此處的+意味著組合鍵) - gg(移動到檔案開頭),G(移動到檔案末尾)
/+關鍵詞(此處的+意味著按下反斜杠后,再輸入關鍵詞)進行搜索,n/N用于向下或者向上匹配
除此之外,閱讀模式下,你還可以:
- 鍵入
i進入插入模式,此時會在視窗底部出現-- INSERT --的字樣,

在插入模式下按 esc 鍵退回到閱讀模式,鄭重其事的提醒:如果你不知道現在處于什么模式,就狂按 esc 鍵,
除了 i 鍵可以進入插入模式,還有其他幾個鍵可以進入插入模式,比如說 a 鍵可以在游標后插入;o 鍵可以在當前行后插入;0 鍵可以在當前行前插入,
-
鍵入
dd洗掉當前行,并把洗掉的行存到剪貼板里, -
鍵入
x洗掉當前游標所在的一個字符, -
鍵入
p可用于粘貼上一次復制的內容, -
鍵入
yy可以復制當前行的內容, -
鍵入
u可用于撤銷當前操作, -
鍵入
:w可以保存當前修改后的內容, -
鍵入
:q!可以在不保存內容的情況下退出 Vim, -
鍵入
:wq可以在保存內容的情況下退出 Vim,
**溫馨提醒:**如果你是在插入模式,想要退出或者保存內容的話,一定要先按 esc 鍵退出到閱讀模式,
好了,到此為止,你已經算是入門級的 Vim 用戶了,真的,掌握了這些命令,其他編輯器能干的事,你都可以通過 Vim 完成了,
03、進階
孫悟空成為花果山水簾洞的大王之后,感到了空前的寂寞,他想要進階,于是撐了一葉扁舟拜師學藝去了,同樣的,當我們熟練掌握了上述這些命令之后,也會感到空前的寂寞,因為 Vim 的強大絕不止于此,
來看一下,Vim 是怎么重復自己的,
-
鍵入
.可以重復上一次的命令,這意味著什么呢?意味著如果我們鍵入dd洗掉了一行內容,如果我們還想洗掉一行的話,不需要再按下兩次d鍵了,只需要按下一次.鍵就可以了, -
鍵入
N+命令可以重復某個命令 N 次,(此處的+意味著按下次數后,再輸入命令),這意味著什么呢?意味著生產力的大幅度提升啊!
比如說,在閱讀模式下,鍵入 3dd 可以一次性洗掉 3 行內容;鍵入 10p 可以粘貼 10 次文本,
來個帶勁的哈,
通過 vim hello.txt 打開一個新的文本檔案,然后鍵入 10+i+hello world+回車鍵+esc(此處的+意味著按下次數后,再鍵入 i 鍵進入插入模式,再敲下 hello world,再按下回車鍵換行,再按下 esc 鍵退出到閱讀模式),奇妙的事情發生了,見下圖,

想一下,鍵入 10. 會發生什么?相信我,試玩之后,你會“哇”的,
妙,實在是妙,除此之外,你還可以鍵入:
%匹配括號來移動,包括{[(,前提條件是你需要把游標移動到括號上,*匹配單詞來向下一個移動,(中文就無法使用了)#匹配單詞來向上一個移動,(同上)
記住游標的移動就可以脫離滑鼠的束縛了,大多數命令都可以按照下面的方式來干:
游標開始的位置+命令+游標結束的位置
比如 0y$ 意味著:
- 0,游標移動到行首
- y,從這里開始復制
- $,直到行尾
如果你想看到游標選中了哪些文本,可以先按下 v 鍵進入可視化視圖,然后再操作游標,如下圖所示,

更強大的操作,可以看看耗子叔翻譯的一篇《簡明 Vim 練級攻略》:
https://coolshell.cn/articles/5426.html
在閱讀模式下,鍵入 :sp 可以橫向分割視窗,鍵入 :vsp 可以豎向分割視窗,見下圖,

舒服吧?原來一邊編輯,一遍預覽,在 Vim 下,只需要鍵入三四個字符!
04、結語
如果你想在手頭備一份 Vim 的幫助手冊,免得在用 Vim 的時候四處搜索,實話告訴你,我替你準備了,就是這么貼心,真的,花了 2 天的時間呢,整理了一份《Vim 中文用戶手冊》,310 頁,內容非常全面,

這么優質的 PDF,怎么獲取呢?第一步,掃碼關注「沉默王二」公眾號:

第二步,在公眾號后臺發送 008 獲取下載鏈接(無解壓密碼,無套路),
最后,多說幾句,作為程式員,我們大部分的時間都花費在摸魚上,不不不,代碼編輯器上,因此,花點時間來掌握一個適合自己的編輯器還是非常值得的,很多大佬都直接使用 Vim 來作為代碼編輯器,雖然我還沒達到這種高逼格,但使用 Vim 來操作日志和組態檔的頻率還是非常高的,
要想熟練掌握 Vim,你需要這樣做:
- 認真閱讀這篇內容;
- 堅持使用 Vim 來完成所有的文本編輯作業,即使一開始會很痛苦;
- 隨時查閱幫助檔案,強化肌肉記憶;
- 兩周時間的苦練后,你會發現,作業和學習效率有了大幅度的提升,
- 一個月過后,你跑過來感謝我,“二哥,你丫的,牛逼”!
PS:哇,上期分享的狂補計算機基礎知識,讓我上了癮深受 CSDN 的小伙伴們喜歡呀,已經 345 個收藏和 88 個贊了(包括我自己的一個,嘿嘿,不要臉吧),是我在 CSDN 上分享的內容中贊數還可以的一篇內容,雖然離 1000 贊還很遙遠,但心里還是非常開心滴,騎著我心愛的小摩托,打算去吹冷風去!
好了,我是沉默王二,希望這篇內容能夠幫到你!下期見,
CSDN認證博客專家
博客之星
Java 大牛
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/265455.html
標籤:其他
