慣用 vim 設定檔
Tab 縮排
set tabstop=4
set shiftwidth=4
" 避免把 tab 變成 space
set noexpandtab
自動縮排
set ai!
set smartindent
自定義界面
" 顯示行號
set nu
" 高亮搜尋結果
set hlsearch
" 高亮游標所在行
set cursorline
hi CursorLine cterm=none ctermbg=240 ctermfg=White
" 語法高亮
syntax on
輸入偵測
" 猜測檔案編碼順序
set fileencodings=utf-8,utf-16,big5,cp950,gb2312,cp936,latin1
區塊折疊
set foldmethod=indent
set foldlevel=1
set foldlevelstart=1
autocmd BufWinEnter * let &foldlevel = max(map(range(1, line('$')), 'foldlevel(v:val)'))
簡便執行
" Rust 直接執行
command! PlayRust write !cargo play -i --stdin
" JS 直接執行
command! PlayJS write !node
整合開發
if $VIM_IDE == "1"
packadd ale
" Ctrl+h 可以查看游標所在函數的說明,或者變數的型態 (顯示在狀態列)
noremap <C-h> :ALEHover<CR>
" :refs 可以查看游標所在函數或變數在哪些地方被引用
cnoreabbrev refs ALEFindReferences
endif
套件 ale
來源: https://github.com/dense-analysis/ale
安裝至 ~/.vim/pack/git-plugins/opt/ 以實現選擇性載入
Leave a Comment