Vim 是 Linux 下的常用文本編輯器,但也經常被稱為是一個上古神器,因為它對於初學者而言相當不友好,也不好入門。 但是,對於高手而言,他們不僅將 Vim 玩得很溜,而且還將它當作代碼開發的主要工具。為什麼?因為 VS 等 IDE 比較龐大,運行起來比較慢,而 Vim 就相當輕量了,瞬間就能打開 ...
Vim 是 Linux 下的常用文本編輯器,但也經常被稱為是一個上古神器,因為它對於初學者而言相當不友好,也不好入門。
但是,對於高手而言,他們不僅將 Vim 玩得很溜,而且還將它當作代碼開發的主要工具。為什麼?因為 VS 等 IDE 比較龐大,運行起來比較慢,而 Vim 就相當輕量了,瞬間就能打開代碼並開始工作,這對於追求效率的高手而言自然是愛不釋手。
但是,如果是官方版的 Vim ,依然是局限性相當大,十分不方便。但是高手畢竟是高手,高手懂得使用插件。下麵良許就介紹高手常用的 3 個很實用的插件。
1. 括弧自動補全插件
這個插件叫 Auto Pairs
,它可以自動補全配對的符號,比如:花括弧、方括弧、圓括弧、引號等。這對於我們程式員而言非常有用,因為在代碼里我們大量使用到了上述的幾種配對符號,如果能自動補全那將很大提高我們的寫 bug 效率。
使用這個插件後,當我們敲入一個符號時,會自動補全它的所匹配的另一個符號。比如,我們敲入 [
時,它會自動補全 ]
。當我們刪掉 [
時,]
也自動被刪除了。
如果我們開啟了自動縮進,那麼它不僅會在合適的位置補全匹配的符號,還會將游標插入到合適的位置。比如下麵這段 Go 代碼:
package main
import "fmt"
func main() {
x := true
items := []string{"tv", "pc", "tablet"}
if x {
for _, i := range items
}
}
現在,我在倒數第 3 行 items 後面插入一個花括弧 {
,然後敲一下回車,我們就得到這樣的結果:
package main
import "fmt"
func main() {
x := true
items := []string{"tv", "pc", "tablet"}
if x {
for _, i := range items {
| (游標在這裡了)
}
}
}
當然 Auto Pairs 還提供了很多選項,我們可以在它的 Github 倉庫查看更多用法。但是,以上的這些基本用法就已經可以節約我們很多時間了。
2. 代碼塊註釋插件
作為一個合格的上古神器,Vim 沒辦法像那些 IDE 一樣去註釋代碼塊。但是有了 NERD Commenter
這個插件,我們就可以實現這樣的目標。
NERD Commenter 很智能,它可以自動識別代碼,並給出對應語言的註釋風格。最簡單的方法,我們可以在命令模式下通過敲 <Leader> +空格
來快速註釋代碼塊。在這裡,\
鍵,我們也可以進行自定義。
我們怎麼選中多行呢?那就是要在 visual mode (可視化模式)下進行了,這是 Vim 的基本操作了。
還有一個很有用的特性是 Sexy Comment
(性感模式),我們可以使用 <Leader>+cs
來觸發。性感模式可以將代碼塊用很優雅的方式來註釋,比如下麵這種風格的註釋就是性感模式:
package main
import "fmt"
func main() {
/*
* x := true
* items := []string{"tv", "pc", "tablet"}
*
* if x {
* for _, i := range items {
* fmt.Println(i)
* }
* }
*/
}
3. 添加包圍符號插件
Vim Surround
插件堪稱是一個大殺器,因為它可以將現有的代碼添加成對包圍符號。比如我們現在有這麼一句代碼:
"Vim plugins are awesome !"
如果我們想把引號去掉,只需敲 ds"
即可:
Vim plugins are awesome !
如果我們想將雙引號改成單引號,我們可以敲 cs"'
:
'Vim plugins are awesome !'
想要換成其它符號也是一樣的道理。不僅如此,它還對 HTML 或 XML 標記語言支持非常好。比如有這麼一句 HTML 語句:
<p>Vim plugins are awesome !</p>
現在我們想要加粗 awesome 這個詞,我們可以將游標放在這個單詞上,然後敲 ysiw<em>
,它就會自動添加標記:
<p>Vim plugins are <em>awesome</em> !</p>
Vim Surround 還可以以鋸齒的方式,在語句的上下方添加包圍符號,並將當前語句自動縮進。比如我們想在上面那條代碼添加標簽,我們可以敲 ySS<div class="normal">
:
<div class="normal">
<p>Vim plugins are <em>awesome</em> !</p>
</div>
同樣地,它的功能不僅於此,我們可以進它的 Github 倉庫查看更多強大的功能。
小結
以上 3 個 Vim 插件,熟練使用的話將為我們節約很多時間,而且用起來也非常順手,可以提高我們的效率。當然 Vim 社區里還有非常多大牛開發的很有用的插件,後續良許也會再推送一些好玩的插件,敬請期待!
最後,最近很多小伙伴找我要Linux學習路線圖,於是我根據自己的經驗,利用業餘時間熬夜肝了一個月,整理了一份電子書。無論你是面試還是自我提升,相信都會對你有幫助!目錄如下:
免費送給大家,只求大家金指給我點個贊!
鏈接:https://pan.baidu.com/s/1_6uniaFV0rdMWIdMwgZjbg
提取碼:9pbc
也希望有小伙伴能加入我,把這份電子書做得更完美!