iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 10
0

今天要說說vim的設定檔喔!又是複製的一天呢!
大家就先複製完再來看解釋吧(?)

vimrc

他是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要有幾個空白的大小
所以建議這兩個設一樣的,我也不知道分兩個要幹嘛XD
set 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/


上一篇
【Day9】如何用vim
下一篇
【Day11】sudo的使用
系列文
30天學會用FreeBSD & Apache架網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言