簡體   English   中英

匹配行尾(EOL)與vim中的語法匹配

[英]Match end of line (EOL) with syntax match in vim

當我點擊/進入vim並搜索$ ,會突出顯示所有的eols。 但是當我嘗試將它們與syntax match它似乎不起作用。

function! ConcealNonText()
    set conceallevel=1
    set concealcursor=v
    syntax match NonText /$/ conceal cchar=¶
endfunction

augroup ConcealNonText
    autocmd!
    autocmd VimEnter * call ConcealNonText()
augroup END

任何提示我如何匹配它以顯示eols作為隱藏的字符? 我知道我可以使用set list listchars但在我看來這有一些視覺副作用

看起來你的要求是顯示代替eol。 雖然你給出的代碼可能是一個可能的解決方案,但它肯定不是一個理想的解決方案。 Vim提供了一種更簡單的方法來實現您的願望。 你真正需要做的是查找:h listchars

以下是您應該在vimrc中實現所需內容的示例:

set list
set listchars+=eol:¶

一旦你把它,vim將顯示eol字符的字符

要做你想做的事,你可以做matchadd()來匹配所有行的結尾。 Matchadd將返回一個ID,可以幫助您在需要時刪除給定的匹配項。

:call matchadd("NonText", "$")

請參閱:he matchadd()了解有關如何使用它的更多信息。

HTH

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM