環境設定

介紹

vim 可以設定很多環境,通常都是寫在 vimrc

大部分接可以直接在 Ex命令模式執行

例如 set number 在 Ex 命令就直接打 :set number

環境指令

colorscheme {name} 載入色彩方案 {name} 若不知道要設定哪個 可以在輸入完 colorscheme (空白)後按 <Ctrl-d> 顯示列表 作者是使用Dracula

filetype plugin indent on 檔案類型 檢測 插件 縮排 打開

set autoindent 換行時自動縮進

set backup 需要備份文件

set cindent 使用 C/C++ 語言的自動縮排方式

set clipboard={option} 預設使用 option 暫存器 option 有以下選項 unnamed * 暫存器 unnamedplus + 暫存器 unnamed,unnamedplus 同時使用 * 和 + 暫存器 在 mac 系統中 * 和 + 暫存器跟系統剪貼板共用 例如 yy 複製一行,可以到外部貼上 <command>V 外部複製的內容也可以在 vim 用 p 貼上

set cursorline 高亮光標所在的螢幕行

set directory=$HOME/.vim/swap// 交換文件統一存放目錄

set encoding=utf8 設定檔案編碼,解決中文亂碼問題

set expandtab tab 以空格取代

set filetype=myfiletype 如果檔案沒有識別或識別錯誤,可以手動設定 filetype

set guifont=字型檔:h{Number} gui 版 vim 字型 {Number} 字型大小 舉例: set guifont=MesloLGL\ Nerd\ Font:h18

set guioptions=egmrLtT gui 版 vim 使用的部件和選項 每一個字母都代表一個選項 如果不想要某個選項把那個字母刪掉即可 egmrLtT 是預設值 主要可以設定滾動條顯示 l 左邊的滾動條總是存在 m 選單 r 右邊的滾動條總是存在 L 如有垂直分割的窗口,左邊的滾動條總是存在 R 如有垂直分割的窗口,右邊的滾動條總是存在 T 工具欄

set hidden 如果想保留修改了的緩衝區但不寫回,打開 'hidden' 選項

set history=[number] 歷史命令數量為 [number]

set hlsearch 高亮顯示搜尋匹配

set ignorecase 是否不區分大小寫

set incsearch 輸入搜索命令時,顯示目前輸入的模式的匹配位置

set laststatus={number} 顯示狀態欄 0:永不 1:只有在有至少兩個視窗時 2:總是

set linebreak 在某些字元才能自動摺行,避免斷句不乾淨

set linespace={number} 設定每行的間距,高度的差距 number 為距離 舉例: set linespace=2

set list 顯示 tab 尾部空白、換行符號 不顯示則改成 nolist

set magic 設定魔法模式 此為預設模式

set nobackup 不需要備份文件

set nomagic 設定無魔法模式 注意!這可能會造成插件出現錯誤 如果插件使用魔法模式的話

set nonumber 不顯示行號

set noswapfile 緩衝區不建立交換文件 此為當檔案尚未存檔時,保留在相同目錄的暫存檔 以免發生不可預期的事情而沒存檔

set nowritebackup 編輯時不備份文件

set number 顯示行號

set relativenumber 顯示相對行號 例如: 游標在第4行,當前游標位置會顯示4 其餘上下從1開始遞增 3 2 1 4 1 2

set ruler 顯示游標位置的行號和列號 和在整個文件的比例

set scrolloff=number 游標上下兩側最少保留的螢幕行數 number 為數字

set showcmd 在螢幕最後一行顯示(部分的)命令 關閉則改成 noshowcmd

set shortmess+=c 不顯示插入補全選單訊息

set showtabline=number 本選項的 number 值指定何時顯示帶有標籤頁標籤的行: 0: 永遠不會 1: 至少有兩個標籤頁時才會 2: 永遠會

set showmode 在插入,替換和可視模式裡,在最後一行提供消息 關閉則改成 noshowmode

set signcolumn=yes 是否繪製標誌列

set smartcase 智能的大小寫敏感

set splitbelow 如果打開,視窗的分割會把新視窗放到當前視窗之下

set splitright 如果打開,視窗的分割會把新視窗放到當前視窗之右

set transparency={number} 設定背景透明度 0-100 此為 gui 版 vim 才有效 0 為不透明 100 為完全透明 在桌面設定 50 看起來很像高科技...

set ts=number sts=number sw=number et number 為數字 ts tabstop 為 tab 空格數 sts softtabstop 把 <Tab> 算作空隔的數目 sw shiftwidth 為縮排所需的 Space 個數 et exandtab 為插入空白

set undodir=~/.vim/undo 撤銷檔案共用區路徑

set undofile 儲存撤銷檔案在共用區

set updatetime=4000 如果過了這麼多毫秒數以後還沒有任何輸入,把交換文件寫入磁盤

set wildmenu 增強 Tab 自動補全,產生文件清單

set wildmode=list:longest,full list:longest 補全符合的最長字串 full 打開 wildmenu

set wrap 超出視窗寬度的文字行都會被迴繞顯示

syntax on 語法高亮

拼寫

set spell 開啟拼寫檢查

set spellfile 可以指定拼寫文件的路徑 zgzw 保存和刪除的位子 也可以指定多個

setlocal spelling=~/.vim/spell/en.utf-8.add
setlocal spelling=~/mySpell/myWord.utf-8.add

1zg 代表存在 en.utf-8.add 2zg 代表存在 myWord.utf-8.add

set spelllang 設定拼寫語言 例如 set spelllang=en_us,nl 設定為美式英語、荷蘭語

setlocal 跟 set

setlocal 只會影響當前視窗或緩衝區

set 全局影響

特殊用法

set 顯示自己設定的環境設定

set all 顯示所有的環境設定

有些設定在前面加 no 就會關閉此功能 例如

set spell
set nospell

set spell! 加 ! 就會反轉該設定,開變關,關變開

set spell? 加 ? 就可以獲得該設定的狀態

set spell& 將該設定設定成預設值

silent

此為忽略指令的回傳訊息

silent! 忽略錯誤訊息和回傳訊息

舉例

silent {command} 執行 command 並忽略回傳訊息

Last updated