Vim the Six Billion Dollar editor
Better, Stronger, Faster.
"學(xué)習(xí) vim并且其會(huì)成為你最后一個(gè)使用的文本編輯器。沒有比這個(gè)更好的文本編輯器了,非常地難學(xué),但是卻不可思議地好用。"這是下文練級(jí)攻略里的一段話,現(xiàn)在回頭看看其實(shí)沒有那么難學(xué),只要你每天都用,第一周可能有些不適應(yīng),速度也有些慢,但是越往后越順手,以致于我現(xiàn)在用word保存的時(shí)候都在用:w命令,現(xiàn)在開始讓vim透過生活進(jìn)入生命吧!
這個(gè)教程寫的很好,是入門也是常用命令集錦,按照這個(gè)慢慢練習(xí),很快你就會(huì)愛上Vim,并且越來越熟練,我知道一開始你可能嘗試幾個(gè)就想放棄,因?yàn)檫@個(gè)東西和平時(shí)的文本編輯完全不同,如果你想熟練使用還不想吃苦練習(xí),那趕緊滾蛋。
英文原版Learn Vim Progressively
2.Vim分屏
多窗口操作肯定是平時(shí)開發(fā)的必要場(chǎng)景,如果恰巧公司有良心,給你配備了24寸顯示器,那豈能不分滿屏幕,來體驗(yàn)一般代碼滿天飛的快感!
3.無插件Vim編程技巧
這里面的命令都是原生態(tài)的Vim命令,沒有任何插件,現(xiàn)在還沒看,以后有時(shí)間研究一下,另外關(guān)于vim的配置可以參考我的另外一篇文章My Vim Configuration
,只是vimrc的內(nèi)容,因?yàn)椴寮惭b時(shí)間比較久遠(yuǎn),下次安裝的時(shí)候再些教程,聰明的人一看就懂。
4.給程序員的VIM速查卡
里面幾乎涵蓋了常用命令,點(diǎn)開看大圖很清晰,可以保存一張?jiān)谑謾C(jī)。
補(bǔ)充一些今天看到的,一些不起眼但非常有用的 Vim 命令,選了些我覺得有用的。
:wq 和 :x 命令近似,都是保存當(dāng)前文件并退出。
兩個(gè)命令實(shí)際上并不完全等價(jià),當(dāng)文件被修改時(shí)兩個(gè)命令時(shí)相同的。但如果未被修改,使用 :x 不會(huì)更改文件的修改時(shí)間,而使用 :wq 會(huì)改變文件的修改時(shí)間。
以 root 方式保存
每當(dāng)你打開一個(gè)你沒有寫入權(quán)限的文件(比如系統(tǒng)配置文件)并做了一些修改,Vim 無法通過普通的 “:w” 命令來保存。你不需要重新以 root 方式打開文件再進(jìn)行修改,只需要運(yùn)行:
:w !sudo tee %
這會(huì)直接以 root 方式保存。
比較兩個(gè)文件的不同
你們中的大多數(shù)很可能都知道 vimdiff 命令,它可以使用分離模式打開 Vim 并比較兩個(gè)文件的不同。語法如下:
$ vimdiff [文件1] [文件2]
但同樣的結(jié)果也可以通過下面的 Vim 命令來獲得:
:diffthis
首先在 Vim 中打開原始文件。然后使用分離模式帶來第二個(gè)文件:
:vsp [文件2]
最后在第一個(gè)緩沖區(qū)里輸入:
:diffthis
通過 Ctrl+w 來切換緩沖區(qū)并再次輸入:
:diffthis
這樣兩個(gè)文件中不同的部分就會(huì)被高亮。
(可以直接在一個(gè)緩沖區(qū)里使用命令 :windo diffthis,而不用輸入 :diffthis 兩次)
要停止比較,使用:
:diffoff
按時(shí)間回退文件
Vim 會(huì)記錄文件的更改,你很容易可以回退到之前某個(gè)時(shí)間。該命令是相當(dāng)直觀的。比如:
:earlier 1m
會(huì)把文件回退到 1 分鐘以前的狀態(tài)。
注意,你可以使用下面的命令進(jìn)行相反的轉(zhuǎn)換:
:later
刪除標(biāo)記內(nèi)部的文字
當(dāng)我開始使用 Vim 時(shí),一件我總是想很方便做的事情是如何輕松的刪除方括號(hào)或圓括號(hào)里的內(nèi)容。轉(zhuǎn)到開始的標(biāo)記,然后使用下面的語法:
di[標(biāo)記]
比如,把光標(biāo)放在開始的圓括號(hào)上,使用下面的命令來刪除圓括號(hào)內(nèi)的文字:
di(
如果是方括號(hào)或者是引號(hào),則使用:
di{
和:
di"
把光標(biāo)下的文字置于屏幕中央
zz
跳到上一個(gè)/下一個(gè)位置
當(dāng)你編輯一個(gè)很大的文件時(shí),經(jīng)常要做的事是在某處進(jìn)行修改,然后跳到另外一處。如果你想跳回之前修改的地方,使用命令:
Ctrl+o
來回到之前修改的地方
類似的:
Ctrl+i
會(huì)回退上面的跳動(dòng)。