【问题标题】:vimrc make comments italicvimrc 使注释变为斜体
【发布时间】:2011-03-30 11:53:46
【问题描述】:

如何更改 ~/.vimrc 以使代码中的 cmets 变为斜体?

在我的~/.vimrc 文件中,我有:

highlight Comment ctermfg=blue

这会使 cmets 变蓝。我需要做些什么不同的事情才能让它们变成斜体?

【问题讨论】:

    标签: vim comments highlight italics


    【解决方案1】:
    highlight Comment cterm=italic gui=italic
    

    您需要一个带有斜体集的字体和一个能够显示斜体的终端。此外,如果您使用非默认配色方案,则上述行应在配色方案加载到您的 ~/.vimrc 之后出现,这样配色方案就不会覆盖它。

    cterm 使它在终端中工作,gui 用于图形 Vim 客户端。

    【讨论】:

    • 为什么要放在特殊的配色方案文件中?我发现将所有自定义功能合二为一更方便。有没有网站可以展示如何完成这项工作?
    • 查看我的编辑。它可以在您的~/.vimrc 中,但它应该在加载配色方案文件之后出现,这样配色方案文件就不会覆盖您的自定义设置。如果您没有使用配色方案文件(听起来好像没有),请不要担心。
    • 似乎斜体比它的价值更麻烦。
    • 那么我在哪里可以找到带有斜体集的字体,我在 kubuntu 上的终端是否能够显示斜体?
    • 我从 vim 切换到 neovim,斜体停止工作。添加 gui=italic 为我解决了这个问题,即使我在终端中运行 nvim。
    【解决方案2】:

    michaelmichael 的回答应该可以解决大多数情况。但是,以防万一您需要在 gvim 中使用没有斜体的字体(而是斜体或其他字体),您可以在 ~/.gvimrc 中尝试类似的操作

    highlight Comment font=Bitstream_Vera_Sans_Mono_Oblique:h14
    

    其中 h14 是字体大小。不过,此字体应该与您的普通字体具有相同的单元格大小,所以不要使用完全不同的字体。

    【讨论】:

      【解决方案3】:

      首先,您应该检查您的终端是否能够以斜体显示文本。在您的终端类型中(-e 标志确保转义码被解释)

      echo -e "\e[3m foo \e[23m"
      

      如果你看到 foo 就可以了,否则你需要更换终端(Gnome Terminal 和 Konsole 是不错的选择)。

      那你应该帮助 Vim 识别你使用的终端类型,输入你~/.bashrc:

      export TERM="xterm-256color"
      

      现在你可以试试看是否够用,打开一个新文件vim foo.html,内容如下

      <i>foo</i>
      

      你看到斜体的foo了吗?如果不是,那么你需要更进一步,现在 Vim 不知道转义码来切换到斜体模式,你需要告诉它(这是最难的部分,我花了几年时间才弄清楚) .

      将以下两行放入您的~/.vimrc

      set t_ZH=^[[3m
      set t_ZR=^[[23m
      

      这些与我们之前在终端中使用的转义码相同,请注意^[ 不是文字字符而是表示转义字符,您可以在插入模式下使用 CTRL-V 后跟 ESC(参见:help i_CTRL-V

      现在重新打开我们在foo.html 之前创建的文件,您应该会看到斜体的foo;如果你不这样做,那我就不能再帮你了。否则你几乎完成了;还有最后一步。

      把你~/.vimrc文件放进去

      highlight Comment cterm=italic
      

      加载任何配色方案后。

      【讨论】:

      • 是的,据我所知 :-)
      • 我今天检查了,但它对我不起作用我的 gnome-terminal 版本是 3.6.1,它在 Ubuntu 下运行。那你能查一下吗?
      • 你说得对,我目前使用的是 gnome-terminal 3.10.2,如果可以的话,我唯一可以建议你升级到更新版本:-(
      • 检查是否需要echo -e 才能解释反斜杠转义?
      • @GabrieleLana 在我运行 NeoVim 0.2.0(Gnome Terminal 3.22.1,Terminix 1.3.5,Tilda 1.3.3)的终端中,我必须设置 highlight Comment gui=italic 才能正常工作.
      【解决方案4】:

      对于像 gvim 这样的 GUI 环境,一个简单的

      highlight Comment gui=italic
      

      做到了。

      【讨论】:

      • 这对我有用,我没有使用 GUI 环境。不确定使用 4k 显示器是否相关
      【解决方案5】:

      在我的情况下,我必须把它放在我的 vimrc 文件中:

      let &t_ZH="\e[3m"
      let &t_ZR="\e[23m"
      highlight Comment cterm=italic
      

      注意它与:

      set t_ZH=^[[3m
      set t_ZR=^[[23m
      highlight Comment cterm=italic
      

      前者对我有用,而后者没有。

      【讨论】:

      • "let" 而不是 "set" 在 Ubuntu 14.04.3 上也适用于我。我现在很高兴在我的 vim 中看到斜体。
      • 太棒了,+1,因为前一种解决方案仅使用文字形式的 ASCII 字符。干杯!
      • 对于后者,您可以通过C-v Esc 执行^[,而不是通过键入^ [
      【解决方案6】:

      因为我使用的是Solarized colorscheme,所以我必须按照Solarized #120 中的建议编辑.vim/colors/solarized.vim,以将第137-157 行替换为以下内容:

      if has("gui_running") || ( has("unix") && system("tput sitm") == "\033[3m" )
          let s:terminal_italic=1
      else
          let s:terminal_italic=0
      endif
      

      这是另外按照this Gist 中的说明并将这两行添加到我的.vimrc,使用 Ctrl-vEsc 输入^[:

      set t_ZH=^[[3m
      set t_ZR=^[[23m
      

      (感谢 Gabriele Lana 提示我将这些行添加到我的 .vimrc。)

      【讨论】:

        【解决方案7】:

        如果所有答案都不起作用,请移动

        highlight Comment cterm=italic
        

        到你的 .vimrc 的 end。它可能会被您的主题设置之一覆盖

        【讨论】:

          猜你喜欢
          • 2023-01-14
          • 2023-03-31
          • 1970-01-01
          • 2022-12-05
          • 1970-01-01
          • 2021-11-28
          • 2017-12-12
          • 1970-01-01
          • 2017-09-25
          相关资源
          最近更新 更多