Vim Plugins
延續 上一篇筆記, 這篇繼續整理一些常用的 plugins, 主要都是參考自 “快快樂樂學 vim“ 還有其他 google 找到的, 然後整理我自己覺得不錯的 plugins 和 vim 的設定.
另外因為我在很多台機器工作, 所以我也把這些設定放到 github, 方便轉換使用. 有需要的朋友可以參考看看.
Vim Settings
跟一般的 unix 應用程式慣例一樣, 都會用 ~/.{appname}rc
作為設定檔名稱, 然後用 ~/.{appname}
作為更進一步的設定目錄, vim 的設定檔就是 ~/.vimrc
和 ~/.vim/
兩個.
~/.vimrc
: 初始設定, 可以把一些想要初始的設定放在這裏, 像是把 Vim Notes 提到的設定放在這裡, 底下是我的部分設定:1
2
3
4
5
6" ## vim settings
set tabstop=4 " Set width of a TAB to 4
set shiftwidth=4 " Indents will have a width of 4
set softtabstop=4 " Sets the number of column for a TAB
set expandtab " Expand TABs to spaces
set nu " show line number~/.vim/
: 其他進階設定資料
Vim Plugins
主要都是參考 “快快樂樂學 vim“ ,用了之後覺得不錯的.
- vim-pathogen
vim-powerline改用: vim-airline, 前者已經被宣告 deprecated 了.- NERDTree
- vim-markdown
- ColorSelector
- vim-javascript
vim-pathogen
用來管理 vim plugin, 可以省去安裝時的困擾, 只要把 plugin 從 git clone 放到固定目錄即可. 一般設定是放在 ~/vim/bundle
. 安裝/移除都只要把目錄放入 or 移走即可. pathogen
本身的安裝也很簡單, 依照官方文件, 只要在 .vimrc
放入這行即可: execute pathogen#infect()
vim-powerline vim-airline
主要是增加 Vim 比較漂亮的狀態列, 可以顯示目前 vi mode (NORMAL, INSERT, REPLACE … etc), 還有其他像是 dirty status, filename, file encoding, new line, extension name, cursor position …
透過 pathogen
安裝很簡單, 只要 clone 到 ~/.vim/bundle
, 然後在 ~/vimrc
加入以下即可:
1 | "## vim-airline |
第一次使用要在 Vim 下 :Helptags
.
airline 也支援類似 tab 的概念,需要使用則在 .vimrc
加入以下設定:
1 | " enable tabline |
如此只要開兩個檔案以上,畫面上方就會出現不同 Buffer 的 Tab,要在不同 Buffer 切換的方法如下:
:bn
: 跳到下一個 buffer:bp
: 跳到前一個 buffer:b n
: 往前幾個跳:bd
: 關掉目前的 buffer
另外也可以調整 Theme: let g:airline_theme='wombat'
,Theme 的名稱可以看這裡
這個 plugin 做得很漂亮,而且很強大,用過之後就會發現:回不去了。。。。
- airline 還可以使用在 bash mode, 有空再來研究。
- 原本推薦的 vim-powerline 已經不再維護, github 上也推薦大家使用 airline 了.
NERDTree
NERDTree 是用來呈現樹狀結構的 plugin, 像方便直接選擇檔案. 安裝同上, 直接 clone 後放到 bundle 即可.
使用也很簡單, 只要在 e-mode
輸入 :NERDTree
即可 (注意大小寫), 如果想要 vim 啟動就自動帶起, 那麼可以在 ~/.vimrc
加入以下這段: autocmd VimEnter * NERDTree
, 如此開啟 vim 就會自動帶起 NERDTree.
檔案開啟後, 其實就是 split
mode, 所以透過 ctl + w + w
切換 screen, 如下圖:
vim-markdown
就是 markdown plugin, 主要提供 syntax highlight
, 還有幾個 key mapping, 像是 ]]
, [[
可以快速地在各個段落間移動.
其實我用
{
,}
移動也很快 XD
預設會把 h1
section 收起來, 如果不喜歡可以在 ~/.vimrc
關掉: let g:vim_markdown_folding_disabled=1
寫到這裡, 發現這個 plugin 有點雞肋 …. orz ..
ColorSelector
用來套用各種前景 / 背景顏色的設定, 安裝都一樣.
使用方式: e-mode
輸入 :SelectColorS
vim-javascript
用來改 javascript 的, 要打開 syntax highlight 的話, 直接下 :syntax enable
我的 Vim Settings
因為我常在很多環境工作,所以乾脆把這些設定打包好,放在 rickhw.vimrc,到了新的環境只要直接 clone,執行 ./setup.sh
就可以完成設定. 這個 script 主要會做以下的事情:
- clone plugin, list 參見 README.md, 之後可能會增減.
- 建立兩個 link:
$HOME/.vim/
$HOME/.vimrc
- 原本的會備份成
.vim.bak
,.vimrc.bak
- 如果想恢復,可以執行
./remove.sh
即可
Todo
隨著使用的習慣不同,應該還有很多改善空間,現在想到的 Todo list 如下:
- 把 plugin 改成 clone 某一個 branch and hash
- 測試其他環境 (CentOS, Ubuntu, Win7),目前只有在 OS X 上試過
- 再試看看其他 plugins, 目前想找的有:
- javascript code formatter, content assist (auto-complete)…
- 試試 template 產生器, 像是 snipmate
- 其他 syntax highlight, 像是 SQL, HTML5, node.js
資源
- Vim 官方可以找到很多 scripts –> 這裡
- vim-tw: 台灣 Vim User Group
- vim-facebook-group
- Vim Awesome: Vim plugins search