最近在使用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的語法,導致其他的不正常的顯示,對於我上面的問題. 只需轉義一下下劃線
_
字符即可.同時, 當這個底線出現在
* 或 ** 或 **
之间的时候, 也会出现其他样式的问题, 这时候对于下划线,可以__
用兩個下劃線.即可解決樣式問題.