大多數人一開始使用 vim
時,常常會因為他難以駕馭的操作方式,以及相較於其他 IDE
較為平庸的功能,而馬上就棄坑了 ...
那我真的覺得十分可惜!
vim
非常輕量化,在各種功能的調教方面也是完全的客製化,也可以根據開發的不同語言而載入相對應的外掛,這些是一般的 IDE
無法比擬的!(不是說肯定比 IDE
好,而是它有許多等著被挖掘的好處~)
這邊就提供幾個簡單的設定給大家參考,讓大家對 vim
進行調教吧!
在 vim
中有許多的功能都是藉由開啟設定來啟動的,像是 :se number
就是顯示行數 (連行數都能自己設定要不要顯示,想不到吧~),這邊就來介紹幾個常用的設定吧,用 se
或者 set
指令都可以~ (都是在命令列模式下進行設定的哦!)
指令 | 解釋 |
---|---|
encoding=UTF-8 | 編碼 |
number | 行數 |
showcmd | 取得指令歷史 |
mouse=a | 設定游標顯示樣式 |
ruler | 設定顯示行列數 (顯示在畫面右下角) |
history=1000 | 設定 undo 歷史紀錄數量 |
cursorline | 高亮顯示游標的行 |
background=dark | 設定背景色 |
foldmethod=indent | 根據縮排折疊程式碼 |
foldlevel=100 | 設定折疊上限 |
expandtab | 使用 whitespace 取代 tab |
autoindent | 啟用自動縮排 |
指令 | 解釋 |
---|---|
incsearch | 即時顯示搜尋結果 |
hlsearch | 高亮顯示搜尋結果 |
ignorecase | 忽略大小寫 |
smartcase | 我的理解是,如果有大寫則進行全比對 |
magic | 設定 RegEx |
跟眾多 IDE
一樣,vim
當然也能設定外觀顯示,說跟其他 IDE
不同的地方,也就是仍然使用指令來進行啦~
指令 | 解釋 |
---|---|
syntax enable |
啟用內容顯色 |
colorscheme [colorschema] |
使用的顏色方案 |
重頭戲來了!我之所以對 vim
愛不釋手,有一個很特別的地方在於,他可以根據各種 event
發生的時候,去執行你想要針對檔案或 vim
進行更動~這邊就用兩個案例來舉例吧!
針對暫存器讀檔時執行的指令
au BufNewFile,BufRead *.py
\ set tabstop=4
\ set softtabstop=4
\ set shiftwidth=4
此指令為:針對開啟副檔名為 .py
的檔案設定某些參數
開啟 vim 時執行的指令
function startUpFun()
" TODO
endfunction
autocmd VimEnter * call startUpFunc()
此指令為:在進入 vim
時執行 startUpFunc()
這個函式
你可能會疑惑,怎麼分成 au
及 autocmd
這兩種?但這兩個是一樣的功能唷!
到這邊為止 vim
基礎的介紹大概已經完畢了~雖然可能還是霧煞煞不過請大家試試看吧!
接下來我會針對我所自訂的開發環境介紹各個元件:如何安裝及使用