建立VIM 設定檔 「.vimrc」

$ cd                    //移動到使用者的家目錄

$ vim .vimrc      //建立新的vim設定檔

 

介面優化

:set nu

顯示行號:對於 debug 相當有幫助!

:set ai

自動對齊縮排:如果上一行有兩個 tab 的寬度,按 enter 繼續編輯下一行時會自動保留兩個 tab 鍵的寬度。

:set cursorline

光標底線:光標所在的那一行會有底線,幫助尋找光標位置

:hi CursorLine cterm=none ctermbg=DarkMagenta ctermfg=White

更改光標底線樣式,cterm代表文字上的變化,certmbg代表文字背景,ctermfg代表文字前景。

:set cursorcolumn

顯示光標所在的行

hi CursorColumn cterm=none ctermbg=DarkMagenta ctermfg=White

更改光標行的樣式,cterm代表文字上的變化,certmbg代表文字背景,ctermfg代表文字前景。

:set bg=light

上色模式-針對亮背景上色

預設為亮背景(白色等)上色,但是終端機的初始背景色為深紫色,會出現文字失蹤 ( 例如註解為深藍色 ) 的情況。將這一行換成 :set bg=dark 即可。

:set tabstop=4

縮排間隔數 ( 預設為 8 個空白對齊 )

也就是說按一次 tab 鍵,游標會自動跳 4 格空白字元的寬度。雖有多個空格但實際上只有一個 tab 字元。

注意:也就是說,在其他環境下,看到 tab 字元,依舊是 8 個空白寬

:set shiftwidth=4

自動縮排對齊間隔數:向右或向左一個縮排的寬度

以下可以斟酌使用

:set mouse=a

啟用游標選取:游標可以直接選取文字,滾輪可以直接滑動頁面 ( 非移動游標 )。

可以取代用 v 選取字元的功能,配合 ctrl+insert ( 複製 ) 及 shift+inset ( 貼上 ),相當方便

:set mouse=""

停用游標選取:游標無法選取文字,滾輪只會移動光標的位置。

:set ruler

( 預設就有 ) 顯示右下角的 行,列 目前在文件的位置 % 的資訊

:set backspace=2

( 預設就有 ) 在 insert 模式啟用 backspace 鍵

:set formatoptions+=r

自動註解(注意:若要貼上的文件某一行有註解,會因為此項設定而讓其以下每一行都變成註解)

:set history=100

保留 100 個使用過的指令

:set incsearch

在關鍵字尚未完全輸入完畢前就顯示結果

如果覺得這功能太過熱心的話,可以使用 ctrl+n 來達成自動補完的功能

:set t_Co=256

讓vim能支援256色

:colorscheme {blue,darkblue,default,delek,desert,elford,evening,industry,koehler,morning,murphy,pablo,peachpuff,ron,shine,slate,torte,zellner}

使用VIM內建顏色配置,以上陣列裡選一個,檔案位置在/usr/share/vim/vimNN/colors/

syntax enable

開啟VIM語法高亮度支援

 

tab 與 space

:set expandtab

輸入 tab 都會被轉換成 space,而對應的 space 數量由 :set tabstop=x 決定

但是文件中已經存在的 tab 鍵不會受到影響,必須在 command mode 下輸入 :retab ,才會被替換掉

如果只有當下那一行的 tab 要被替換成 space,則輸入 :.retab

 

 

輸入優化

filetype indent on ( 好用! )

啟用依照檔案類型,決定自動縮排樣式的功能

例如:如果正在編輯的檔案是 .c 或 .cpp 檔,遇到 { 按下 enter ,會自動往右一縮排。如果是 Makefile,輸入完 target 按下 enter ,為了 rule 而自動往右一縮排。

 

行號顏色

:hi LineNr cterm=bold ctermfg=DarkGrey ctermbg=NONE

設定行號為:粗體,前景色為深灰色,沒有背景色

hi 為 highlight 指令的縮寫,擁有同樣的效果

LineNr 指定為 line number 的顏色設定

cterm 指的是爲 color terminal 的環境 ( 在 linux 桌面環境所開的 terminal ) 做設定,其他還有 term ( 一般 terminal,例如透過 putty 連上的工作環境 )、gui。

cterm 支援的顏色列表,一共有 16 色

NR-16   NR-8    COLOR NAME 
   0	    0	    Black
   1	    4	    DarkBlue
   2	    2	    DarkGreen
   3	    6	    DarkCyan
   4	    1	    DarkRed
   5	    5	    DarkMagenta
   6	    3	    Brown, DarkYellow
   7	    7	    LightGray, LightGrey, Gray, Grey
   8	    0*	    DarkGray, DarkGrey
   9	    4*	    Blue, LightBlue
   10	    2*	    Green, LightGreen
   11	    6*	    Cyan, LightCyan
   12	    1*	    Red, LightRed
   13	    5*	    Magenta, LightMagenta
   14	    3*	    Yellow, LightYellow
   15	    7*	    White

 

自訂的快速鍵

vim的「map」、「nmap」、「vmap」、「omap」、「map!」、「imap」、「cmap」指令可以在不同vim操作模式下建立快速鍵。其中,「map」涵蓋了一般模式和視覺模式;「map!」涵蓋了「map」沒包含的模式;「imap」只涵蓋插入模式;「cmap」只涵蓋命令列模式。

「map」指令家族的用法都一樣,格式如下:

map 快速鍵 對應的按鍵和指令

例如在「.vimrc」設定檔加入:

 

 

 

map <C-t> :echo &shiftwidth<CR>

即可在vim的一般模式和視覺模式下,按下快速鍵「ctrl+t」來顯示自動縮排的寬度。由於vim內建的快速鍵以及終端機軟體內建的快速鍵已經有很多,所以要找到能夠自訂的快速鍵也不太容易,這是需要不斷嘗試的部份。

 

 

 

文章標籤
全站熱搜
創作者介紹
創作者 音樂天空 的頭像
音樂天空

科技始終來自於人性

音樂天空 發表在 痞客邦 留言(0) 人氣(3,755)