Vim入門(mén)級(jí)基礎(chǔ)配置

介紹Vim配置文件.vimrc,配置Vim顯示行號(hào)、支持utf8中文不亂碼、突出顯示Vim當(dāng)前行,設(shè)置高亮顯示括號(hào)匹配和tab縮進(jìn),解決Vim粘貼時(shí)多出縮進(jìn)和空格問(wèn)題。

### 一、Vim配置文件.vimrc

Vim編輯器相關(guān)的所有功能開(kāi)關(guān)都可以通過(guò)**.vimrc**文件進(jìn)行設(shè)置。

**.vimrc**配置文件分系統(tǒng)配置和用戶配置兩種。

系統(tǒng)vimrc配置文件存放在Vim的安裝目錄,默認(rèn)路徑為`/usr/share/vim/.vimrc`??梢允褂妹頯echo $VIM`來(lái)確定Vim的安裝目錄。

用戶vimrc文件,存放在用戶主目錄下`~/.vimrc`??梢允褂妹頯echo $HOME`確定用戶主目錄。

*注意*:用戶配置文件優(yōu)先于系統(tǒng)配置文件,Vim啟動(dòng)時(shí)會(huì)優(yōu)先讀取當(dāng)前用戶根目錄下的**.vimrc**文件。所以與個(gè)人用戶相關(guān)的個(gè)性化配置一般都放在`~/.vimrc`中。

### 二、Vim基本配置

默認(rèn)情況下,Vim編輯器里既不顯示行號(hào),也沒(méi)有語(yǔ)法高亮度、智能縮進(jìn)。為了方便使用,基本的Vim配置選項(xiàng)一般都會(huì)包括:

#### 2.1 支持中文不亂碼

``` bash

'設(shè)置編碼'

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

set termencoding=utf-8

set encoding=utf-8

```

與Vim編碼有關(guān)的變量包括:`encoding`、`fileencoding`、`termencoding`。

encoding選項(xiàng)用于緩存的文本、寄存器、Vim 腳本文件等;fileencoding選項(xiàng)是Vim寫(xiě)入文件時(shí)采用的編碼類型;termencoding選項(xiàng)表示輸出到終端時(shí)采用的編碼類型。

#### 2.2 顯示行號(hào)

``` bash

'顯示行號(hào)'

set nu

set number

```

nu是number的縮寫(xiě),所以上面兩個(gè)配置命令是完全等效的。

#### 2.3 突出顯示當(dāng)前行

``` bash

set cursorline

set cul? ? ? ? ? 'cursorline的縮寫(xiě)形式'

```

#### 2.4 突出顯示當(dāng)前列

``` bash

set cursorcolumn

set cuc? ? ? ? ? 'cursorcolumn的縮寫(xiě)形式'

```

#### 2.5 啟用鼠標(biāo)

``` bash

set mouse=a

set selection=exclusive

set selectmode=mouse,key

```

Vim編輯器里默認(rèn)是不啟用鼠標(biāo)的,也就是說(shuō)不管你鼠標(biāo)點(diǎn)擊哪個(gè)位置,光標(biāo)都不會(huì)移動(dòng)。通過(guò)以上設(shè)置就可以啟動(dòng)鼠標(biāo),不過(guò)對(duì)于高級(jí)玩家來(lái)說(shuō),用Vim就是為了解放雙方不用鼠標(biāo),所以這個(gè)設(shè)置可以根據(jù)個(gè)人愛(ài)好選擇。

#### 2.6 顯示括號(hào)匹配

``` bash

set showmatch

```

#### 2.7 設(shè)置縮進(jìn)

``` bash

'設(shè)置Tab長(zhǎng)度為4空格'

set tabstop=4

'設(shè)置自動(dòng)縮進(jìn)長(zhǎng)度為4空格'

set shiftwidth=4

'繼承前一行的縮進(jìn)方式,適用于多行注釋'

set autoindent

```

關(guān)于Vim縮進(jìn)的更多內(nèi)容,可參考vim教程網(wǎng)上的文章[Vim自動(dòng)縮進(jìn)和tab鍵替換空格](https://vim.ink/vim-indent.html)

#### 2.8 設(shè)置粘貼模式

``` bash

set paste

```

在Vim中通過(guò)[鼠標(biāo)右鍵粘貼](https://vim.ink/vim-paste.html)時(shí)會(huì)在行首多出許多縮進(jìn)和空格,通過(guò)`set paste`可以在插入模式下粘貼內(nèi)容時(shí)不會(huì)有任何格式變形、胡亂縮進(jìn)等問(wèn)題。

#### 2.9 顯示空格和tab鍵

``` bash

set listchars=tab:>-,trail:-

```

Vim編輯器中默認(rèn)不顯示文件中的tab和空格符,通過(guò)上面的配置可以獲得以下的顯示效果,方便定位輸入錯(cuò)誤。

![vimrc顯示空格和tab鍵](https://wx1.sinaimg.cn/mw690/691e0c29gy1flthpsci69j208j01hglg.jpg)

#### 2.10 顯示狀態(tài)欄和光標(biāo)當(dāng)前位置

``` bash

'總是顯示狀態(tài)欄'

set laststatus=2

'顯示光標(biāo)當(dāng)前位置'

set ruler

```

### 三、Vim配置變更立即生效

要讓.vimrc變更內(nèi)容生效,一般的做法是先保存 .vimrc 再重啟vim,增加如下設(shè)置,可以實(shí)現(xiàn)保存 .vimrc 時(shí)自動(dòng)重啟加載

``` bash

'讓vimrc配置變更立即生效'

autocmd BufWritePost $MYVIMRC source $MYVIMRC

```

----------------------------

Vim入門(mén)級(jí)基本配置就先介紹到這里了,更多Vim個(gè)性配置可參考vim教程網(wǎng)上的其他博客。

附上我的一張Vim配置示意圖

![Vim配置](https://wx2.sinaimg.cn/large/691e0c29gy1fnptltfrnzj20hk0ddta2.jpg)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容