於 Cygwin 編譯 Vim 7.3 與相關新設定例
編譯沒有 gui 的 Vim 7.3,無特殊需求,純升級。
- 由 ftp.vim.org/pub/vim/unix/ 下載 unix 用的原始碼 vim-7.3.tar.bz2,解開後進入 vim73 目錄。
- 直接選 big 包的 features(包括 multi_byte 等沒理由不要的功能)。
./configure --with-features=big
(也可加 --enable-rubyinterp
等 optional feature,詳見 ./configure --help)
make
make install
之後下 vim --version
應該就能看到新設定。
部份相關設定(非全部的新功能)
vimrc 基本設定部份
if version >= 703 set conceallevel=1 set concealcursor=nc set colorcolumn=+1 set cinoptions+=L0 set undofile set undodir=~/.vim/undofiles if !isdirectory(&undodir) call mkdir((&undodir, "p") endif map <C-ScrollWheelDown> <ScrollWheelRight> map <C-ScrollWheelUp> <ScrollWheelLeft> imap <C-ScrollWheelDown> <ScrollWheelRight> imap <C-ScrollWheelUp> <ScrollWheelLeft> endif
- conceal 的設定以不影響排版為主。下圖說明:
以 help 檔為例,平時只要把 |:autocmd| 左右的「|」塗黑,不必真的移除。
但游標移到該行時,因為 CursorLine 有上深灰,所以能識別有文字被隱藏掉。
最後在 insert mode(如圖下半部)或 visual mode,應照實顯示原文。 - colorcolumn 在 textwidth 右邊標顏色。
從 PSPad 轉到 Vim 的時候就想要這功能,不過出來以後效果挺醜的(也太麤了吧),所以最後配合 colorscheme 調成只有在游標所在的行能看見。前面擷圖中最右邊黑 column 即是。 - L 是 cindent 新增的設定值,參考 :help cinoptions-values。
另有新增 J 給 JavaScript 用,不過似乎預設就包含了。 - undofile 沒設定的話就完全沒效果……
這可是讓:e!
或下次進入 Vim 後還能 undo 的便利功能啊。 - 新增的水平 ScrollWheel 系列,測試沒效,先放置不管。
偵測到檔案類型為 help 時要跑的設定(help_rc 這種寫法是參考 c9s 的 gist 學來的)
fun! s:help_rc() set number if version >= 703 set conceallevel=1 set concealcursor=nc set colorcolumn=+1 endif endf au FileType help :call s:help_rc()
因 help 類型檔案會重設 conceal 設定所以為之。
colorscheme
if version >= 703 hi Conceal ctermfg=240 ctermbg=Black guifg=#585860 guibg=Black hi ColorColumn ctermbg=Black guibg=Black endif
為了前述效果所用的顏色設定(換個跟我不一樣的 colorscheme 就不適用了。)
有 0 個意見
☂