如何在vim中禁用粗体字体?

时间:2010-10-19 18:44:48

标签: editor vim

我在颜色语法文件slate.vim中删除了对粗体(gui = bold,cterm = bold,term = bold)的所有引用,但我仍然看到一些粗体文本。例如在python文件中,关键字class,def,try,except,return等仍然是粗体蓝色字体。

如何禁用状态信息中的粗体,例如“录制”或“按ENTER或键入命令..”?

7 个答案:

答案 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对字体是否显示为粗体没有影响。

这是最简单的方法:

  1. /colors目录中输入sed -i 's/=bold/=NONE/g' *.vim

  2. /syntax目录中输入sed -i 's/=bold/=NONE/g' *.vim

  3. 这将替换所有* .vim文件中的每个实例。

答案 5 :(得分:0)

对我来说,这是一个tmux /屏幕问题。 https://unix.stackexchange.com/questions/237530/tmux-causing-bold-fonts-in-vim带我去TERM=screen-256color,它解决了我的问题。 TERM为xtermxterm-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")