将行尾 (EOL) 与 vim 中的语法匹配相匹配

Sau*_*ier 5 regex vim eol match end-of-line

当我输入/vim 并搜索它时,$它会突出显示所有 eol。但是当我尝试将它们与syntax match它似乎不起作用。

\n\n
function! ConcealNonText()\n    set conceallevel=1\n    set concealcursor=v\n    syntax match NonText /$/ conceal cchar=\xc2\xb6\nendfunction\n\naugroup ConcealNonText\n    autocmd!\n    autocmd VimEnter * call ConcealNonText()\naugroup END\n
Run Code Online (Sandbox Code Playgroud)\n\n

有什么提示我可以匹配它以便将 eol 显示为隐藏字符吗?\n我知道我可以使用,set list listchars但这有一些视觉副作用但我认为

\n

Dhr*_*gar 1

看起来您的要求是显示\xc2\xb6代替 eol。虽然您给出的代码可能是一种可能的解决方案,但它肯定不是一个理想的解决方案。Vim 提供了一种更简单的方法来实现您的愿望。你真正需要做的是查找:h listchars

\n\n

以下是您应该在 vimrc 中添加哪些内容以实现您想要的目标的示例:

\n\n
set list\nset listchars+=eol:\xc2\xb6\n
Run Code Online (Sandbox Code Playgroud)\n\n

一旦你输入了这个,vim就会显示这个字符\xc2\xb6eol 字符。

\n