最近在使用vim编辑文本的时候, 遇到 单词中的 '_' 背景红色高亮的情况, 这个怎么取消掉?
.vimrc 主题:elfford.
我是在编辑*.md文件的时候, 总是有下图所示的高亮. 怎么去掉?
认证高级PHP讲师
我用的 vim-markdown,貌似没有这个问题
这个多半是语法识别的事儿,按理说这里的下划线应该按照文本去识别。
你可以这样,vim 中先把光标移到下划线的位置上,在上面执行 :echo synIDattr(synID(line("."),col("."),0),"name"
:echo synIDattr(synID(line("."),col("."),0),"name"
这个会输出当前位置的语法识别标记。。记住输出的内容,你这个有可能是报错之类的?我猜
我的输出是 mkdNonListItemBlock,命令行里(bash之类的)执行 grep -r 'mkdNonListItemBlock' .,就会输出这个语法识别所在的文件。我的就是对应 ~/.vim/plugged/vim-markdown/syntax/markdown.vim
mkdNonListItemBlock
grep -r 'mkdNonListItemBlock' .
~/.vim/plugged/vim-markdown/syntax/markdown.vim
你这个用转义当然也可以解决,markdown 本身也有转义。。但你这个情况是不必要转义的。。多人协作的时候不论是转义 _ 还是 ** 之间用 __ 都造成不必要的 diff。建议你通过 vim-markdown 这个插件解决
_
**
__
问题目前解决了:
没有修改其他的配置, 其实我们在编辑markdown文件的时候,经常因为markdown的语法,导致其他的不正常的显示,对于我上面的问题. 只需转义一下下划线_字符即可.
同时, 当这个下划线出现在* 或 ** 或 ** 之间的时候, 也会出现其他样式的问题, 这时候对于下划线,可以__用两个下划线.即可解决样式问题.
* 或 ** 或 **
我用的 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的语法,导致其他的不正常的显示,对于我上面的问题. 只需转义一下下划线
_
字符即可.同时, 当这个下划线出现在
* 或 ** 或 **
之间的时候, 也会出现其他样式的问题, 这时候对于下划线,可以__
用两个下划线.即可解决样式问题.