Vor Kurzem stieß ich beim Bearbeiten von Text mit vim auf eine rote Hintergrundhervorhebung von „_“ in einem Wort. Wie kann ich das abbrechen?
.vimrc Thema:elfford.
Wenn ich *.md-Dateien bearbeite, gibt es immer Markierungen, wie im Bild unten gezeigt.
我用的 vim-markdown,貌似没有这个问题
这个多半是语法识别的事儿,按理说这里的下划线应该按照文本去识别。
你可以这样,vim 中先把光标移到下划线的位置上,在上面执行
:echo synIDattr(synID(line("."),col("."),0),"name"
这个会输出当前位置的语法识别标记。。记住输出的内容,你这个有可能是报错之类的?我猜
我的输出是
mkdNonListItemBlock
,命令行里(bash之类的)执行grep -r 'mkdNonListItemBlock' .
,就会输出这个语法识别所在的文件。我的就是对应~/.vim/plugged/vim-markdown/syntax/markdown.vim
你这个用转义当然也可以解决,markdown 本身也有转义。。但你这个情况是不必要转义的。。多人协作的时候不论是转义
_
还是**
之间用__
都造成不必要的 diff。建议你通过 vim-markdown 这个插件解决问题目前解决了:
没有修改其他的配置, 其实我们在编辑markdown文件的时候,经常因为markdown的语法,导致其他的不正常的显示,对于我上面的问题. 只需转义一下下划线
_
字符即可.同时, 当这个下划线出现在
* 或 ** 或 **
之间的时候, 也会出现其他样式的问题, 这时候对于下划线,可以__
用两个下划线.即可解决样式问题.