Vim:Underline(La)TeX文件中\Underline{}的内容
当我编辑(La)TeX文件时,Vim(使用默认的配色方案)对Vim:Underline(La)TeX文件中\Underline{}的内容,vim,latex,vim-plugin,tex,Vim,Latex,Vim Plugin,Tex,当我编辑(La)TeX文件时,Vim(使用默认的配色方案)对\textbf{}的内容使用粗体字体,反转\textit{}的内容的背景色,等等 我还想在\underline{}的内容下面加下划线 我提出了一个相当粗糙的解决方案,它在大多数情况下都有效,但是当\underline{}包含一个右大括号}时就会中断: highlight underline term=underline cterm=underline gui=underline match underline /\\underline{
\textbf{}
的内容使用粗体字体,反转\textit{}
的内容的背景色,等等
我还想在\underline{}
的内容下面加下划线
我提出了一个相当粗糙的解决方案,它在大多数情况下都有效,但是当\underline{}
包含一个右大括号}
时就会中断:
highlight underline term=underline cterm=underline gui=underline
match underline /\\underline{\zs.\{-}\ze}/
(下划线突出显示定义是必需的,因为下划线会更改文本的颜色。)
我怎样才能更优雅地完成这个任务?我已经看过了
/usr/share/vim/vim74/syntax/tex.vim
,但我似乎无法调整类似syn region texBoldStyle matchgroup=texTypeStyle start=“\\textbf\s*{end=“}”隐藏端点包含=@texBoldGroup
的内容以满足我的需要…将光标放在\underline{foo}
上并键入该命令:
:echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
它将告诉您该符号使用哪个高亮显示组。获得该信息后,您可以尝试将您的突出显示
行添加到:
~/.vim/after/ftplugin/tex.vim
如果唯一的问题是
\}
中的\underline{}
,那么下面是一个改进的正则表达式:
/\\underline{\zs\(.\([^\\]}\)\@<!\)\+\ze}/
/\\underline{\zs\(.\([^\\]}\)\@
或者,确实可以将其正确地添加到syntax/tex.vim
:添加syn cluster texundergroups
(并将其添加到所有适当的现有集群的contains=
下),添加一个syn region texUnderlineStyle
,最后添加一个hi texUnderlineStyle
,顺便说一句,我不完全确定这是否在堆栈溢出的主题中被考虑,但与超级用户上的2386个、Unix和Linux上的626个和TeX-LaTeX上的145个相比,标记了13527个问题[vim]。