Vim

如何使 Vim 顯示顏色程式碼所指示的顏色?

  • September 21, 2021

簡而言之,我正在努力lessvim( vimpager) 替換。我有腳本設置,可以隨時吐出顏色(和粗體,一切都很好)。less理解顏色程式碼並很好地顯示它們。我怎樣才能以vim這種方式解析程式碼並顯示顏色/粗體less

兩個答案:

一個簡短的:你想使用 vim 腳本AnsiEsc.vim。它將隱藏文件中實際的 ANSI 轉義序列,並使用語法突出顯示適當地為文本著色。在尋呼機中使用它的問題是您必須讓 vim 辨識何時使用它。我不確定您是否可以簡單地始終載入它,或者它是否會與其他語法文件衝突。你將不得不嘗試它。

一個長答案:你能希望的最好的是部分非攜帶式解決方案。Less 實際上並不理解終端轉義序列,因為它們在很大程度上取決於終端,但 less 可以辨識這些(的子集),並且知道將它們傳遞給終端,如果您使用-r(或-R) 選項。終端將解釋轉義序列並更改文本的屬性(顏色、粗體、下劃線…)。Vim 作為一個編輯器而不是一個尋呼機,它不會簡單地將原始控製字元傳遞給終端。它需要以某種方式顯示它們,因此您可以實際編輯它們。您可以使用 vim 的其他功能,例如隱藏和語法高亮來隱藏序列並使用它們來設置文本的顏色,但是,它總是只處理終端序列的子集,並且可能在某些終端上不起作用.

當您嘗試將文本編輯器用作尋呼機時,這實際上只是您會遇到的許多問題之一。

引用自:https://unix.stackexchange.com/questions/7695