在mac终端的vim语法高亮显示中启用斜体

dal*_*onb 9 macos vim terminal syntax-highlighting italics

我想让vim用斜体显示我的评论,我理解我需要放置

cterm=italic

在里面

hi Comment

我正在使用的color.vim文件中的行.但是,这对文本显示没有影响,我怀疑它与某些Terminal.app设置有关,除非我误解了vim语法.如果有人能告诉我如何启用此功能,我将不胜感激.

此外,我目前正在使用Monaco字体,它没有单独的斜体文件(但是,斜体语法突出显示不适用于Consolas,Lucida,Bitstream Vera或其他斜体或斜体字体).假设对于带斜体的字体存在解决方案,我是否必须跳过任何进一步的箍以使摩纳哥工作?

感谢您的任何意见.

编辑:
我很惊讶我还没有得到答案; 这似乎不应该太难做.也许是.另外,可能有人解释为什么这会不会是可能的吗?

Bah*_*ami 7

从 OS X Sierra 10.12 开始,默认终端应用程序支持斜体;但是,包含的 ncurses 版本包含未声明斜体支持(它们未定义sitm功能)的xterm terminfo 文件。要在 Vim 中解决此问题,请将以下内容添加到您的 vimrc 文件中以定义用于启用/禁用斜体的终端命令:

let &t_ZH="\e[3m"
let &t_ZR="\e[23m"
Run Code Online (Sandbox Code Playgroud)

然后确保您使用的字体支持斜体,并且您的颜色方案在某些语法部分包含斜体。或者,要在本地自定义语法突出显示以将注释格式化为斜体,请将以下内容添加到您的 vimrc 文件中:

highlight Comment cterm=italic
Run Code Online (Sandbox Code Playgroud)


Ben*_*itz 6

从SnowLeopard开始,Terminal不支持斜体属性(SGR,值3)。请随时通过http://bugreporter.apple.com提交请求。

更新:斜体支持已添加到macOS Sierra 10.12的终端中。请注意,该版本的ncurses附带的xterm terminfo文件未声明斜体sitm功能。请参阅Bahman Eslami的答案/sf/answers/3753818141/或cheon的答案/sf/answers/3395906951/中特定于vim的解决方法,以创建一个声明的terminfo文件sitm

  • 我认为 macOS Big Sur 又打破了斜体。出色地。 (2认同)

che*_*eon 5

斜体支持已添加到 macOS Sierra 10.12 中的终端(在提出此问题之后);但是,该版本的 ncurses 中包含的 xterm terminfo 文件没有声明斜体sitm功能。您可以通过创建一个本地 terminfo 文件来解决此问题,该文件声明该功能并继承您当前使用的任何 terminfo 文件。

在以下说明中,使用TERM设置的任何名称。xterm-256color是终端内置默认配置文件使用的默认值。

创建一个名为 的文件xterm-256color-italic.terminfo

# A xterm-256color based TERMINFO that adds the escape sequences for italic.
xterm-256color-italic|xterm with 256 colors and italic,
  sitm=\E[3m, ritm=\E[23m,
  use=xterm-256color,
Run Code Online (Sandbox Code Playgroud)

tic xterm-256-italic.terminfo在你的终端中运行,它会生成一个文件~/.terminfo/78/xterm-256color-italic. 当TERM设置为文件名时,ncurses 会自动找到该文件。

设置TERM=xterm-256-italic单个终端配置文件:

简介

或者你可以替换/usr/share/terminfo/78/xterm-256color~/.terminfo/78/xterm-256color-italic

sudo cp /usr/share/terminfo/78/xterm-256color /usr/share/terminfo/78/xterm-256color-bak
sudo cp ~/.terminfo/78/xterm-256-color-italic /usr/share/terminfo/78/xterm-256color
Run Code Online (Sandbox Code Playgroud)

然后你可以在vim中找到斜体字体:

vim