Hacking VIM 之定製 自定義狀態列

2021-08-29 08:50:46 字數 846 閱讀 7141

在vim編輯器的底部,你可以發現兩個東西:乙個是命令列緩衝(可以輸入命令),另外乙個是狀態列。在預設情況下,vim顯示的資訊是很簡短的,只是在右邊顯示當前游標所在的行和列以及當前開啟的檔案(如果有的話)。

當你執行乙個命令的時候,狀態列將會被命令列替代,如果命令執行後輸出了資訊,則也會顯示在狀態列的右邊。

如果只是為了簡單和快速的編輯,則這個狀態列也已經足夠了,但是如果你每天使用vim來編輯許多不同型別的檔案,則最好使用乙個資訊豐富的狀態列。在這個技巧中,我們將看到狀態列如何顯示豐富的檔案資訊。

設定狀態列如何顯示可以簡單的呼叫命令:

setstatusline format

這裡的format是乙個類似printf的字串(從c語言中借鑑過來),用來描述狀態列如何顯示。

如果你使用 :help 'statusline' 來檢視vim幫助,你可以看到狀態列包含大量的資訊,可能有些在你日常工作中還有用。

我的狀態列中總是包含下面的資訊:

下面的命令可以使得狀態列顯示上面所有的資訊

我在其中加了''用來分割各個型別的資訊,這僅僅是為了顯示加入的,如果需要的話可以去掉。

儘管如此,我們可以看到在預設情況下狀態列還是會顯示舊的狀態列,這是因為vim預設根本就不顯示狀態列,而僅僅顯示命令緩衝區的一些資訊。為了告訴vim你真的需要乙個狀態列,可以將下面的語句加入到vimrc中,這個命令將保證狀態列顯示在編輯器視窗的倒數第二行。

setlaststatus=2

可以看到現在命令緩衝區總是在編輯器視窗的最下邊,而狀態列則也總是顯示在下面。當然,狀態列確實會佔據一些編輯空間,但是你隨時可以決定是否需要顯示狀態列。你可以在vim中執行下面的命令來隱藏狀態列:

setlaststatus=0

Hacking VIM 之定製 自定義高亮

在 vim中,高亮的特性被稱為 匹配 matching 使用匹配,vim幾乎可以標記任何字元,數字,句子和行及其組合,你甚至可以選擇讓 vim來如何標記,比如用紅色標記錯誤,綠色標記重要的單詞等等。匹配可以使用下面的命令來實現 match group pattern 此命令包含兩個引數,第乙個引數是...

Hacking VIM 之定製 改變字型

在控制台下的vim是不能夠改變字型的,因為字型的改變是隨著終端字型的變化而變化的,但是在gvim中,你卻有權力將字型改變成自己想要的樣子。在linux下設定字型的命令是 set guifont courier 14 而在windows下則是 setguifont courier 14 當然,如果需要...

Hacking VIM 之定製 自定義狀態列

在vim編輯器的底部,你可以發現兩個東西 乙個是命令列緩衝 可以輸入命令 另外乙個是狀態列。在預設情況下,vim顯示的資訊是很簡短的,只是在右邊顯示當前游標所在的行和列以及當前開啟的檔案 如果有的話 當你執行乙個命令的時候,狀態列將會被命令列替代,如果命令執行後輸出了資訊,則也會顯示在狀態列的右邊。...