[Linux][Vim] Vimrc的設定紀錄
Posted On 2018-08-10
[Linux][Vim] Vimrc的設定紀錄
註解的方法
在vimrc檔案內,#會被當作是有意義的符號,所以如果使用#來當作註解的話,那就會出現以下的錯誤
正確的註解方法要使用雙引號(Double Quote): "
常用設定
set rtp+=/usr/local/lib/python3.7/site-packages/powerline/bindings/vim
set laststatus=2
set t_Co=256
set encoding=utf8 or enc=utf8 " UTF8
syntax enable or on " 語法上色
set number or nu " 顯示行號
set softtabstop=4 " 使得按退格鍵時可以一次刪掉 4 個空格
set expandtab or et " 使用空白取代Tab
set tabstop=4 or ts=4 " 設定tab長度爲4
set backspace=2 " 在insert模式啟用backspace鍵,給Mac使用的,Windows and Linux不用設定
set relativenumber " 顯示相對行號(以游標為中心點,向上下開始編號)
set shiftwidth=4 or sw=2 " 設定縮排長度爲4的方法
set ai " 設定自動縮排,但貼去不同的地方時可能會亂掉,這時可以手動切換至貼上模式 :set paste 再進行貼上
set background=dark " 啟用暗色背景
set bg=light " 啟用亮色背景
set ic " 搜尋不分大小寫
set scrolloff=3 " 捲動時保留底下3行
set cursorline " 突出顯示當前行(水平)
set cursorcolumn " 高亮當前列(垂直)
set ruler " 設定尺規,設定完畢右下方會出現一個這樣的東西,顯示檔名、總行數、總字元數、目前第幾行、在第幾個字元、在文章的什麼位置,但你有設定Powerline的時候就用不到了
set showmatch " 顯示括號配對情況
set nocompatible " 讓vim在非相容模式下工作(不相容vi)
set incsearch " 搜索時在未完全輸入完畢要檢索的文本時就開始檢索,可以使用 ctrl+n 來達成自動補完的功能
set history=1000 " 設定命令儲存行數
set formatoptions+=r " 自動註解
setglobal fileencoding=utf-8 " 用來設定特定檔案的編碼,使用 setglobal 可以設定它的預設值,fileencoding若設定為空字串則表示跟 encoding 所指定的編碼方式相同
hi LineNr cterm=bold ctermfg=DarkGrey ctermbg=NON
hi CursorLineNr cterm=bold ctermfg=Green ctermbg=NONE "設定行號為:粗體,前景色為深灰色,沒有背景色
autocmd (自動命令)
有滿多組合搭配的,詳細可以參考官方文件,這邊只記錄自己會用到的,
autocmd FileType yaml setlocal ts=2 sw=2 et
autocmd FileType py setlocal ts=4 sw=4 et
inoremap ( ()<LEFT> "小括號補齊,並將輸入游標左移一個字元
inoremap [ []<LEFT> "中括號補齊,並將輸入游標左移一個字元
inoremap { {}<LEFT> "大括號補齊,並將輸入游標左移一個字元
inoremap ' ''<LEFT> "單引號補齊,並將輸入游標左移一個字元
inoremap " ""<LEFT> "雙引號補齊,並將輸入游標左移一個字元
" Key Mapping
" inoremap triger_char mapping_str
" 映射指令 觸發字元 映射字串
" 註:<LEFT> 為向右鍵字元,<CR>代表換行,<ESC>跳出
" 另外inoremap後面無法再使用"雙引號來註解