Vim 用空格替换隐藏字符
我在编辑LaTeX文件时使用vim的Vim 用空格替换隐藏字符,vim,vim-syntax-highlighting,Vim,Vim Syntax Highlighting,我在编辑LaTeX文件时使用vim的隐藏功能。此功能的一个示例是隐藏textit宏,从而导致 \textit{Hi there} 显示为 Hi there 。这通常很好,但它确实意味着字符不再显示在其正确的列中。我真正想要的是用空格替换所有隐藏的字符,而不仅仅是从行中删除,以便保留列号。上述情况的结果是: Hi there 可以这样做吗?一次只能指定一个隐藏替换字符(cchar)。所以 syn match C1 "\\textit{" conceal cchar= "
隐藏
功能。此功能的一个示例是隐藏textit
宏,从而导致
\textit{Hi there}
显示为
Hi there
。这通常很好,但它确实意味着字符不再显示在其正确的列中。我真正想要的是用空格替换所有隐藏的字符,而不仅仅是从行中删除,以便保留列号。上述情况的结果是:
Hi there
可以这样做吗?一次只能指定一个隐藏替换字符(
cchar
)。所以
syn match C1 "\\textit{" conceal cchar=
" ^------ single space after equal sign
将使案文:
\textit{Hi there}
看起来像:
Hi there}
^--- space before "Hi"
如果要用空格替换\\textit
中的每个字符,则必须将隐藏部分分成几个部分(同样,在每个等号后面加一个空格):
syn match C1 contained "\\" conceal cchar=
syn match C2 contained "t" conceal cchar=
syn match C3 contained "e" conceal cchar=
syn match C4 contained "x" conceal cchar=
syn match C5 contained "t" conceal cchar=
syn match C6 contained "i" conceal cchar=
syn match C7 contained "t" conceal cchar=
syn match C8 contained "{" conceal cchar=
syn match C9 contained "}" conceal
syn match Conceal "\\textit{\|}" contains=C1,C2,C3,C4,C5,C6,C7,C8,C9
set conceallevel=2
set concealcursor=vic