[Linux][Vim] Vimrc的設定紀錄

[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後面無法再使用"雙引號來註解

Reference

E518: Unknown option: #

個人化自己的vim文字編輯器(.vimrc設定教學)

Vim 環境設定 - vimrc

大家來學VIM(一個歷久彌新的編輯器)[九]

Vim .vimrc 設定,讓vim更好用

vimrc設定教學

autocmd

自动命令

[Vim] Vim中設定括弧的自動補齊

Vim documentation: autocmd

VIM 文件编码识别与乱码处理

Add a Comment