我在颜色语法文件slate.vim中删除了对粗体(gui = bold,cterm = bold,term = bold)的所有引用,但我仍然看到一些粗体文本。例如在python文件中,关键字class,def,try,except,return等仍然是粗体蓝色字体。
如何禁用状态信息中的粗体,例如“录制”或“按ENTER或键入命令..”?
答案 0 :(得分:4)
您应该用
替换它们,而不是删除=bold
引用
gui=NONE
cterm=NONE
term=NONE
答案 1 :(得分:3)
还尝试删除standout
。
您可以通过执行以下操作找到突出显示的组:
:sp $VIMRUNTIME/syntax/hitest.vim | source %
您可以通过执行以下操作找到定义颜色和字体选项的位置:
:verbose highlight ModeMsg
(用突出显示组替换ModeMsg
)
答案 2 :(得分:3)
将以下行放在.vimrc文件中。
set t_md=
答案 3 :(得分:2)
以防有人在MacOS上使用iTerm并且也有这个问题(因为Ubuntu下相同的配色方案和vimrc设置从来没有给我这个问题),iTerm中有一个选项在Preference-> Profiles->阻止iTerm呈现任何粗体文本的文本。这是一个更容易,更快速的修复。
答案 4 :(得分:0)
在vim中,:scriptnames
显示了在vim启动时加载的所有脚本的列表。
在bash中,grep -rl "=bold" $VIM
显示vim文件夹中包含该字符串的所有文件的列表。如果未设置$VIM
,或者文件名(windows用户)中有空格,cd
到vim目录并使用.
运行命令代替$VIM
}
您可以比较两个列表以查找需要编辑的文件。如Tassos上一个回答中所述,将=bold
替换为=NONE
。
附注::hi
显示所有当前高亮格式,并举例说明语法实际呈现方式。就我而言,standout
对字体是否显示为粗体没有影响。
这是最简单的方法:
在/colors
目录中输入sed -i 's/=bold/=NONE/g' *.vim
在/syntax
目录中输入sed -i 's/=bold/=NONE/g' *.vim
这将替换所有* .vim文件中的每个实例。
答案 5 :(得分:0)
对我来说,这是一个tmux /屏幕问题。 https://unix.stackexchange.com/questions/237530/tmux-causing-bold-fonts-in-vim带我去TERM=screen-256color
,它解决了我的问题。 TERM为xterm
与xterm-256color
时的差异可能也值得探讨。
答案 6 :(得分:0)
@devskii的answer in the comment, above对我来说很好。我将在此处和Wiki明确包括不引人注意的部分的答案。 (如果@devskii想要作为答案,则将其删除...如果可以删除Wiki答案。)
将其放入您的.gvimrc
中并抽烟:
" Steve Hall wrote this function for me on vim@vim.org
" See :help attr-list for possible attrs to pass
function! Highlight_remove_attr(attr)
" save selection registers
new
silent! put
" get current highlight configuration
redir @x
silent! highlight
redir END
" open temp buffer
new
" paste in
silent! put x
" convert to vim syntax (from Mkcolorscheme.vim,
" http://vim.sourceforge.net/scripts/script.php?script_id=85)
" delete empty,"links" and "cleared" lines
silent! g/^$\| links \| cleared/d
" join any lines wrapped by the highlight command output
silent! %s/\n \+/ /
" remove the xxx's
silent! %s/ xxx / /
" add highlight commands
silent! %s/^/highlight /
" protect spaces in some font names
silent! %s/font=\(.*\)/font='\1'/
" substitute bold with "NONE"
execute 'silent! %s/' . a:attr . '\([\w,]*\)/NONE\1/geI'
" yank entire buffer
normal ggVG
" copy
silent! normal "xy
" run
execute @x
" remove temp buffer
bwipeout!
" restore selection registers
silent! normal ggVGy
bwipeout!
endfunction
autocmd BufNewFile,BufRead * call Highlight_remove_attr("bold")