今天要說說vim的設定檔喔!又是複製的一天呢!
大家就先複製完再來看解釋吧(?)
他是vim的設定檔喔,在每個使用者的家目錄都會有一份,檔名會是.vimrc
,那就讓我們來看看吧!
首先就直接把我常用的設定檔丟出來:
set encoding=utf8
set fileencodings=utf8
set nu
set ai
set cursorline
set tabstop=4
set shiftwidth=4
set hlsearch
set cindent
set backspace=indent,eol
set laststatus=2
set wrap
inoremap ( ()<Esc>i
inoremap {<CR> {<CR>}<Esc>ko
inoremap {{ {}<ESC>i
inoremap [ []<Esc>i
inoremap < <><Esc>i
inoremap " ""<Esc>I
inoremap ' ''<Esc>I
filetype indent on
syntax enable
這次不會跟.cshrc的時候一樣只會一點點了!這份基本上是真的我去手刻的。還有這個每一行都是可以在vim的command mode下打的,如::set nu
那就開始解釋每一行吧!
我們先看到前兩行:set encoding=utf8
set fileencodings=utf8
這個是用來調編碼的,如果不調的話開中文可能會亂碼。當然也可以在vim打:set encoding=utf8
再來是下一個區塊,他們之間是無關的,我們一行一行解釋。set nu
顯示行號。跟昨天說的:[number]
搭配。set ai
自動對齊縮排,會保留上一行的tab數。set cursorline
打字的那行會有底線。set tabstop=4
按一次tab縮排幾個空白。set shiftwidth=4
按一次tab要有幾個空白的大小。
所以建議這兩個設一樣的,我也不知道分兩個要幹嘛XDset hlsearch
把搜尋結果highlight起來set cindent
自動縮排,會比較像一般程式編輯器set backspace=indent,eol
這行建議要有,他會定義你的backspace的功用,少了它也許你會發現不能用backspace刪除了。set laststatus=2
開啟狀態列,設1就會關掉。set wrap
句子過長的自動換行。
又到下一個區塊囉!這邊的東西都是一樣的原理,所以我拿一個舉例就好:inoremap ( ()<Esc>i
他的意思是說打(
的時候會跑出()<Esc>i
,稍微看一下你會發現其實這就是按一個(
就會幫你把)
補上然後跳到括號中間讓你打。剩下的也都是一樣的,可以視個人情況增減。
再繼續吧!快結束了!filetype indent on
它是用來看每個檔案的檔名已決定要用哪種縮排方式。syntax enable
開啟程式碼highlight。
有個舒服的編輯器設定是很重要的,雖然應該不常用它來寫程式,但是還是建議讓她好看一點,尤其是行號之類的。
順便丟一下我之前在寫的時候參考的文章:
http://wiki.csie.ncku.edu.tw/vim/vimrc
https://magiclen.org/vimrc/