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

Editor 如何在vim中禁用粗体字体?,editor,vim,Editor,Vim,我已经删除了颜色语法文件slate.vim中对粗体的所有引用(gui=bold,cterm=bold,term=bold),但仍然看到一些粗体文本。例如,在python文件中,关键字class、def、try、except、return等仍然使用蓝色粗体字体 另外,如何禁用粗体状态消息,如“录制”或“按ENTER键或键入命令…”?请尝试删除出现的“突出”状态消息 您可以通过执行以下操作来查找突出显示的组: :sp $VIMRUNTIME/syntax/hitest.vim | source %

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


另外,如何禁用粗体状态消息,如“录制”或“按ENTER键或键入命令…”?

请尝试删除出现的“突出”状态消息

您可以通过执行以下操作来查找突出显示的组:

:sp $VIMRUNTIME/syntax/hitest.vim | source %
您可以通过执行以下操作找到定义颜色和字体选项的位置:

:verbose highlight ModeMsg

(由突出显示组替换
ModeMsg

而不是删除
=bold
引用,您应该将它们替换为

gui=NONE
cterm=NONE
term=NONE

万一有人在MacOS上使用iTerm时也遇到了这个问题(因为Ubuntu下的相同配色方案和vimrc设置从来没有给过我这个问题),iTerm中的Preference->Profiles->text下有一个选项可以阻止iTerm呈现任何粗体文本。这是一个更简单、更快的修复方法。

在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文件中的每个实例。

    在.vimrc文件中放入以下行

    set t_md=
    

    对我来说,这是一个tmux/屏幕问题。让我找到了解决问题的
    TERM=screen-256color
    。当术语是
    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")
    

    在Windows中,粗体对我来说是个问题。自从切换到Ubuntu之后,bold在vim和gvim中表现得非常漂亮。(在Ubuntu中,字体在所有应用程序上看起来都更好。)不知道为什么,但这对我来说破坏了macvim中的几乎所有内容。@AlistairMacDonald你确定你只是用文件中的
    =bold
    引用替换了
    =NONE
    吗?不,我是在
    .vimrc
    文件中做的。我在颜色文件中做了这个,现在可以了。谢谢你可以通过更明确一点来改进你的答案。这将使你的答案对我来说是一个向上的投票。向下的投票是因为提到的90%的
    vim
    命令都在
    .vimrc
    文件中,而这没有,但你没有提到它。@dwanderson仅供参考,这些是命令的参数,正如问题所暗示的。这是最简单的解决方案。在没有破坏任何其他东西的情况下工作。对我来说,在Windows上的gVim中不工作。只是说说而已。