# 爽爽快快學Vim（3） - Vim Plugins

> 

Published: 2012-06-01
URL: https://kaochenlong.com/screencast-3-vim-plugins

---

這一集我來分享一下我自己常在用的 Plugin

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/0QFR-_wUoA0?si=tC_PrvFmuVU4CPVo&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen&gt;&lt;/iframe&gt;

&lt;!-- more --&gt;

## Plugins

### [vim-pathogen](http://www.vim.org/scripts/script.php?script_id=2332)

好用的 Vim 的套件管理工具。通常 plugin 下載回來之後開一個資料夾整個丟進去就行了，一個 plugin 就放一個資料夾，如果不要的時候就該資料砍掉就行了

### [vim-powerline](https://github.com/Lokaltog/vim-powerline)

華麗的狀態列

### [SelectColors](https://github.com/c9s/colorselector.vim)

c9s 大大寫的方便小工具
只要執行 `:SelectColors`` 即可呼叫出快速切換 color scheme 的小分割視窗

### [snipmate](http://www.vim.org/scripts/script.php?script_id=2540)

只要只幾個字母再按下 tab 就可以快速產生 snippets，如果覺得不夠或是有自己慣用的 snippets 也可以自己加

### [vim-css-color](https://github.com/ap/vim-css-color)

直接在 Vim 裡顯示 CSS 色碼所代表的顏色

### [surround](https://github.com/tpope/vim-surround)

文字編輯的好幫手!

- 進到 visual mode 並選取文字後 &lt;kbd&gt;S&lt;/kbd&gt; &lt;kbd&gt;&quot;&lt;/kbd&gt; 把選取文字加上雙引號
- &lt;kbd&gt;c&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;&quot;&lt;/kbd&gt; &lt;kbd&gt;&#39;&lt;/kbd&gt; = 把週圍的雙引號換成單引號
- &lt;kbd&gt;c&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;]&lt;/kbd&gt; &lt;kbd&gt;)&lt;/kbd&gt; = 把週圍的方括號換成小括號
- &lt;kbd&gt;d&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;&quot;&lt;/kbd&gt; = 刪除週圍的雙引號
- &lt;kbd&gt;c&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;t&lt;/kbd&gt; = 刪除週圍的 tag
- &lt;kbd&gt;y&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;&quot;&lt;/kbd&gt; = 把整行加上雙引號
- &lt;kbd&gt;y&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;(&lt;/kbd&gt; = 把整行加上小括號，但小括號與內容會有空格存在
- &lt;kbd&gt;y&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;)&lt;/kbd&gt; = 同上，但不會有空格
- &lt;kbd&gt;y&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;{&lt;/kbd&gt; = 把整行加上大括號，但大括號與內容會有空格存在
- &lt;kbd&gt;y&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;s&lt;/kbd&gt; &lt;kbd&gt;}&lt;/kbd&gt; = 同上，但不會有空格

### [vim-indent-object](http://www.vim.org/scripts/script.php?script_id=3037)

如果你寫的程式語言是用大括號把程式碼包起來的，你只要按&lt;kbd&gt;v&lt;/kbd&gt; &lt;kbd&gt;i&lt;/kbd&gt; &lt;kbd&gt;{&lt;/kbd&gt; 就可以把大括號裡的東西全部選起來。但如果遇到像 Ruby 或 Python 這種不需要大括號的，就可以用得上它。

- &lt;kbd&gt;v&lt;/kbd&gt; &lt;kbd&gt;i&lt;/kbd&gt; &lt;kbd&gt;i&lt;/kbd&gt; 選取相同縮排層級的文字
- &lt;kbd&gt;v&lt;/kbd&gt; &lt;kbd&gt;a&lt;/kbd&gt; &lt;kbd&gt;i&lt;/kbd&gt; 同上，但會連帶上一層級也一併選取

### [vim-matchit](http://www.vim.org/scripts/script.php?script_id=39)

讓 &lt;kbd&gt;%&lt;/kbd&gt; 不只可以配對基本的語法，連 html 的 tag 也可以比對

### [vim-ragtag](http://www.vim.org/scripts/script.php?script_id=1896)

- &lt;kbd&gt;Ctrl&lt;/kbd&gt; &lt;kbd&gt;x&lt;/kbd&gt; &lt;kbd&gt;Enter&lt;/kbd&gt; = 產生對應的 tag，而且中間會加上斷行
- &lt;kbd&gt;Ctrl&lt;/kbd&gt; &lt;kbd&gt;x&lt;/kbd&gt; &lt;kbd&gt;Space&lt;/kbd&gt; = 同上，但不會加上斷行

### [NERDtree](http://www.vim.org/scripts/script.php?script_id=1658)

樹狀目錄結構列表，讓你可以在檔案跟資料夾中切換

### [ctrlp](https://github.com/kien/ctrlp.vim)

快速找到檔案的好幫手

- &lt;kbd&gt;Ctrl&lt;/kbd&gt; &lt;kbd&gt;p&lt;/kbd&gt; 啟動
- &lt;kbd&gt;Ctrl&lt;/kbd&gt; &lt;kbd&gt;g&lt;/kbd&gt; 關閉
- 在啟動中按&lt;kbd&gt;Ctrl&lt;/kbd&gt;&lt;kbd&gt;f&lt;/kbd&gt; 可換切搜尋模式(共有 File、Buffer 以及 MRU 三種)

### [vim-wiki](http://www.vim.org/scripts/script.php?script_id=2226)

用 Vim 來寫筆記(wiki)

## 小結

以上，所有的 plugin 在我的 github 上的 [vimrc 設定](https://github.com/kaochenlong/eddie-vim)裡應該都找得到。其實我用的 plugin 並不多，使用上大多還是以 Vim 內建的基本操作為主。如果有哪邊有錯的再請前輩、先進不吝指教

## 預告

眼尖的人可能會發現上面列的都沒有 Ruby 或 Rails 相關的 plugin。是的這些相關的 plugin 都會留到下一集，所以下一集會來分享一下怎麼利用 Vim 在 Ruby/Rails 裡做開發的，還請稍稍期待一下 :)

