個人化 vim 文字編輯器

每回收到新電腦或是開新 linux 主機,總是需要設定一下工作環境。vim 便是很常用到的文字編輯工具,沒有調整成順手的樣子,操作效率就無法提升。

每回設定 .vimrc 時會習慣 google 一下,看有沒有自己還沒用過的參數,借鑑來試試看。以下是近期在測試的個人設定檔,先寫個筆記留存。

" 支援256
set t_Co=256 
syntax enable                                                                                                                                                       

" 自動縮排:啟用自動縮排以後,在貼上剪貼簿的資料時排版可能會亂掉,這時可以手動切換至貼上模式 :set paste 再進行貼上
" set ai

" 啟用暗色背景模式
"set background=dark

" 啟用行游標提示
"set cursorline

" 文字編碼加入 utf8
set enc=utf8

" 標記關鍵字
set hls

" 只在 Normal 以及 Visual 模式使用滑鼠,也就是取消 Insert 模式的滑鼠
set mouse=

" 顯示行號
" set number

" 顯示相對行號
" set relativenumber

" 搜尋不分大小寫
set ic

" 使用空白取到 Tab
set expandtab

" 自訂縮排 (Tab) 位元數
set tabstop=2
set shiftwidth=2

" 字數過長時換行
"set wrap
set nowrap     " 不換行
" 關閉嗶嗶聲
"set noeb

" 自動切換當前目錄
set autochdir

" 捲動時保留底下 3 行
set scrolloff=3

" 摺疊 Folding
set foldenable
set foldmethod=indent
set foldcolumn=1
set foldlevel=5

" 在 fish 裡相容 Vim 裡的 Neobundle
set shell=/bin/bash

" 高亮當前行 (水平)
set cursorline
hi CursorLine cterm=none ctermbg=DarkMagenta ctermfg=White 

" 高亮當前列 (垂直)
"set cursorcolumn

" 右下角游標座標顯
set ruler 

" 開始關閉狀態
set laststatus=2 

set statusline=[%{expand('%:p')}][%{strlen(&fenc)?&fenc:&enc},\ %{&ff},\ %{strlen(&filetype)?&filetype:'plain'}]%{FileSize()}%{IsBinary()}%=%c,%l/%L\ [%3p%%]
set statusline=%#filepath#[%{expand('%:p')}]%#filetype#[%{strlen(&fenc)?&fenc:&enc},\ %{&ff},\ %{strlen(&filetype)?&filetype:'plain'}]%#filesize#%{FileSize()}%{IsBi

hi filepath cterm=none ctermbg=238 ctermfg=40
hi filetype cterm=none ctermbg=238 ctermfg=45
hi filesize cterm=none ctermbg=238 ctermfg=225
hi position cterm=none ctermbg=238 ctermfg=228

function IsBinary()
  if (&binary == 0)
    return ""
  else
    return "[Binary]"
  endif
endfunction

function FileSize()
    let bytes = getfsize(expand("%:p"))
    if bytes <= 0
        return "[Empty]"
    endif
    if bytes < 1024
        return "[" . bytes . "B]"
    elseif bytes < 1048576
        return "[" . (bytes / 1024) . "KB]"
    else                                                                                                                                                          
        return "[" . (bytes / 1048576) . "MB]"
    endif
endfunction

參考資料
https://magiclen.org/vimrc/
The Ultimate vimrc
http://wiki.csie.ncku.edu.tw/vim/vimrc
https://zhung.com.tw/article/install-and-start-vim-with-minimal-vimrc/


Posted

in

, , , ,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *