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= "

我在编辑LaTeX文件时使用vim的
隐藏
功能。此功能的一个示例是隐藏
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