工欲善其事,必先利其器。Vim 號稱是 Linux 與 MacOS 內建的最強文字編輯器,但我第一次用時想要輸入文字卻發現只有游標在動來動去 XD 直到最近認真開始學才發現 Vim 的美好,以及其「偷懶」的地方。從 Sublime Text、到現在的愛用 VS Code,使用上其實有一個問題,就是手常常要離開鍵盤去摸觸控板、或者移動滑鼠,Macbook 觸控板相當好用是還好,但如果在 Windows 上這件事就變得非常麻煩(到底有多懶)。沒錯,於是編輯器之神 Vim 來了!
不過預設的 Vim 實在不怎麼美觀,所以今天就先來讓 Vim 變得賞心悅目吧!
配色主題
打 Code 要有個好心情,就要先來搭配個自己喜歡的 Syntax Highlighting 配色。自己很喜歡 Spacegray,他有 Sublime Text 版 也有 VS Code 版,不意外也可以找到 Vim 版的(都是從 base16 theme 改的),Windows 版的 gvim 我也有裝沒有問題,但是(人生就是這個但是)不知道為什麼設定在 Mac 內建的 Terminal 裡看起來就是不一樣啊!網路上找的到的如下兩種解法,我試過了也沒有用。
# In Terminal.app
export TERM=xterm-256color
# In ~/.vimrc
set t_Co=256 "t_Co means terminal color
有人是改下載 MacVim,但我不想要下載多餘的東西,最後決定從支援 Terminal 的主題下手自己改,終於!
我把這個版本放上 Github 了,有需要可以自行取用。
基本介面設定
進入vimrc檔案
$ vim ~/.vim/vimrc
然後選擇性的加入設定。
syntax on
set background=dark
set tabstop=4 softtabstop=4 shiftwidth=4
set guifont=Fira\ Code:h12
set lines=50 columns=135
set scrolloff=10
set list listchars=tab:\:\ ,trail:·,extends:?,precedes:?,nbsp:×
set ai
set nowrap
set number
set ruler
set hlsearch
set cursorline
syntax on
啟用 Syntax Highlighting 配色功能。
set background=dark
設定暗色背景(有些配色主題需要此設定)。
set tabstop=4 softtabstop=4 shiftwidth=4
把縮排跟 Tab 鍵預設的 8 格空白大小改成 4 格。
set guifont=Fira\ Code:h12
把預設的字體改成 Fira Code,字級大小 12。但這在 Mac 上沒有用,請直接從 Terminal 偏好設定中修改顯示字體。
set lines=50 columns=135
設定 Vim 打開時的預設視窗大小。
set scrolloff=10
設定游標能移動到的最上方或最下方離視窗邊界的行數(若非頁首或頁尾)。
set list listchars=tab:\:\ ,trail:·,extends:»,precedes:«,nbsp:×
設定縮排的顯示符號,效果類似 Indent Guide,算是免外掛的解決方法,注意 tab 後面第二個反斜線緊接著一個空白。
set ai
設定換行時自動縮排。
set nowrap
設定單行文字不隨視窗大小折行。
set number
設定顯示行數。
set ruler
設定右下角顯示游標所在行數及字元數。
set hlsearch
設定反白顯示所有符合的搜尋字詞,欲取消可以在一般模式下輸入 :set noh
,或者 :let @/=""
。
set cursorline
設定反白顯示目前游標所在的行。
在一般模式下輸入 :wq
存檔離開。
Remap Keybinding Issue
如果發現特殊鍵的 Remap 沒有效,例如方向鍵:
noremap <silent> <C-Up> :resize +3<CR>
noremap <silent> <C-Down> :resize -3<CR>
可以試著開啟終端機的設定、描述檔、鍵盤,依照此網站內容加入前面失效的快捷鍵組合,就可以解決問題。
Vim 入門
Vim 操作
這幾個網站寫的很清楚,很容易入門。
或者可以看這份官方文件,建議了解 Vim 基本操作邏輯後再來看,裡面有不同模式下的所有支援指令。