安裝完Neovim後,接著建立config檔以及進行一些設定。
我的完整設定檔在此,本文主要針對Vim原本的一些設定(大約在50-111行)快速導覽,其餘部分在後面提到插件(plugin)時會再提到。
產生設定檔
1 | cd ~/.config |
不同於Vim的~/.vimrc
,Neovim的設定檔是放在~/.config/nvim/init.vim
設定項目
Vim的設定項目非常多,這邊會快速導覽我有設定的一些主要或特殊的項目,還有很多東西我沒去設定。基本上,把基本的項目設定好就可以開始用了,其他項目可視使用上的需求,再google查詢慢慢添加。設定時我會盡量加一些註解,因為實在太多了不好記XD
<Leader>與<Esc> remapping
1 | let mapleader = "," "改變<leader> 預設是'\' |
這一步可以跳過去,<Leader>
其實就是個按鍵,用於設定一些指令的快捷鍵,我習慣將它改為逗號,按起來比較方便。此外,每次要回到Normal mode都必須按<Esc>
,我將其額外綁定,在insert mode模式下連續按兩次j
也可發揮相同作用。
折行(wrap)相關
1 | set wrap " 字數過長時換行。 |
在這邊設定每一行文字過長時,會自動折下來而不是持續向右邊延伸。set wrap
搭配set linebreak
可避免一些比較醜的折行(例如英文單字被折兩半)。
需注意的是,儘管折行看起來變成多行,vim仍視為同一行,所以一按k,j或上下鍵移動會一次跳多個折行,導致編輯時不方便。可以看這篇的圖示會更清楚。為了解決此問題,將gk
及gj
綁定原本的k,j及上下鍵,如此一來可自動在折行上下移動。
tab鍵設定
1 | set list listchars=tab:»·,trail:· |
此區主要設定了:
- 使用tab時會顯示
"·"
指出有幾個空格 - 設定normal mode也能用tab及shift+tab
- 設定insert mode的shift+tab有退後功能
- 設定tab鍵等效於space鍵的特定格數
顯示相對行號
1 | set number " 顯示行號 |
這邊特別提出這項設定,在Vim裡面設定相對行號好處非常多,它可以讓我們快速看出往上或往下多少可以到達某一行。例如我想要往上移動到某行,假設相對行號顯示20,則按下20k
可以快速移動到該行。此外,假設我想要選取我現在這行到某行,也可以直接用相對行數看出要選多少行,例如我想要選這行到下面15行,則先按大寫V
或shift+v
選擇此行,接著按下15j
,則可把這段落選取起來。
Buffer與Tabline
1 | nnoremap <F5> :bp<cr> |
在Vim中常用到buffer或tabline,這邊設定了F5
可切換到前一個buffer、F6
後一個,,bd
為刪除某個buffer。至於tabline我這邊只設定新增,切換不同tab的話會配合airline
插件使用。
主題相關設定
1 | set t_Co=256 |
這邊設定Vim的主題,某些項目的設置是為了讓主題顏色可正確顯示。Vim有內建主題,但這邊gruvbox
這個主題必須使用plugin安裝。
其他
其他設置還有游標、路徑、swap file等等,這邊沒有額外打出來,但在我的設定檔裡有盡量加上註解。如果之後使用遇到某些需求,都可以查詢google看看是否有那些設定選項。
下一篇將介紹Vim的插件(plugin)管理
附註
本篇文的這些設定,Vim與Neovim是完全互通的。