5

vimをヒット/して検索する$と、すべての eol が強調表示されます。しかし、それらを一致させようとすると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がいくつかあります。

4

2 に答える 2

1

あなたの要件は、eolの代わりに表示することです。あなたが与えたコードはおそらく可能な解決策ですが、それは確かに理想的なものではありません. Vim は、あなたが望むものを実現するためのはるかに簡単な方法を提供します。本当に必要なのは lookup:h listcharsです。

以下は、あなたが望むものを達成するためにあなたのvimrcに入れるべきものの例です:

set list
set listchars+=eol:¶

これを入れると、vim はeol 文字の文字を表示します。

于 2013-03-27T14:02:53.793 に答える
0

matchadd()必要なことを行うには、すべての行末に一致させることができます。Matchadd は、必要なときに特定の一致を削除するのに役立つ ID を返します。

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

使用方法の詳細については、を参照してください:he matchadd()

HTH

于 2013-04-14T22:44:03.983 に答える