我已经从颜色语法文件slate.vim中删除了所有加粗的引用(gui=bold, cterm=bold, term=bold),但我仍然看到一些粗体文本。例如,在Python文件中,关键字class、def、try、except、return等仍以粗体蓝色字体显示。
还有就是如何禁用状态消息中的粗体字,比如“recording”或“Press ENTER or type command..”?
不要删除=bold
的引用,而是应该将其替换为
gui=NONE
cterm=NONE
term=NONE
.vimrc
文件中完成的。我在颜色文件中做了这个,现在它可以工作了。谢谢!你可以更明确地解释一下,这样你的回答就会得到我的点赞。 - f1lt3rvim
命令需要写入.vimrc
文件,但这篇文章没有提到,所以我会给你点个踩。请注意,在文章中不应该省略这一点。 - dwandersonset t_md=
如果有人在MacOS上使用iTerm并且也遇到了这个问题(因为在Ubuntu下相同的颜色方案和vimrc设置从未给我带来这个问题),则在iTerm的Preference->Profiles->text选项中有一个选项可以停止iTerm渲染任何粗体文本。这是一个更简单和更快速的解决方法。
请尝试删除standout
的出现。
您可以通过以下方式找到高亮显示组:
:sp $VIMRUNTIME/syntax/hitest.vim | source %
您可以通过以下方式找到定义颜色和字体选项的位置:
:verbose highlight ModeMsg
(将ModeMsg
替换为您的高亮组)
:scriptnames
会显示在vim启动时加载的所有脚本列表。grep -rl "=bold" $VIM
会显示您vim文件夹中包含该字符串的所有文件列表。如果未设置$VIM
,或者文件名中有空格(Windows用户),请cd
到您的vim目录并使用.
代替$VIM
运行该命令。=bold
替换为=NONE
。:hi
会显示所有当前的高亮格式,并提供示例以演示实际呈现的语法。在我的情况下,standout
对字体是否加粗没有影响。进入 /colors
目录,输入 sed -i 's/=bold/=NONE/g' *.vim
进入 /syntax
目录,输入 sed -i 's/=bold/=NONE/g' *.vim
这将替换所有 *.vim 文件中的每个实例。
TERM=screen-256color
解决了我的问题。当TERM为xterm
与xterm-256color
时的差异也值得探究。@devskii的评论中的答案对我非常有效。我将在这里特别包含取消加粗部分并维基化答案。(如果@devskii想把它作为答案,我会删除这个...如果我可以删除维基答案的话。)
.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")