Включение курсива в подсветке синтаксиса vim для терминала Mac

Я хотел бы, чтобы vim отображал мои комментарии курсивом, и я понимаю, что мне нужно разместить

 cterm= курсивный 

в

 привет комментарий 

строка в файле color.vim, который я использую. Это, однако, не влияет на отображение текста, что, как я подозреваю, связано с некоторыми настройками Terminal.app, если только я неправильно понимаю синтаксис vim. Буду признателен, если кто-нибудь покажет мне, как включить эту функцию.

Кроме того, в настоящее время я использую шрифт Monaco, у которого нет отдельного курсивного файла (однако подсветка синтаксиса курсивом не работает для Consolas, Lucida, Bitstream Vera или других шрифтов с курсивом или с наклонной подсветкой). Предполагая, что существует решение для шрифтов с курсивом, я должен прыгнуть через дальнейшие обручи, чтобы заставить Монако работать?

Спасибо за любой вклад.

РЕДАКТИРОВАТЬ:
Я удивлен, что еще не получил ответа; это не похоже, что это должно быть слишком сложно сделать. Может быть это. Или кто-то может объяснить, почему это невозможно?

7 ответов

Решение

Что касается SnowLeopard, Terminal.app не поддерживает курсивный атрибут (SGR, значение 3). Не стесняйтесь подать запрос на http://bugreporter.apple.com/.

Начиная с OS X Sierra, терминальное приложение по умолчанию поддерживает курсив. Все, что вам нужно сделать, это добавить следующее в ваш файл vimrc:

let &t_ZH="\e[3m"
let &t_ZR="\e[23m"

Затем убедитесь, что используемый вами шрифт поддерживает курсив, а также ваша схема цветов содержит курсив для некоторых частей синтаксиса.

Создайте файл с именем 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,

Бежать tic xterm-256-italic.terminfo в вашем терминале он сгенерирует файл ~/.terminfo/78/xterm-256color-italicтогда вы можете установить 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

Тогда вы можете найти шрифт курсива в vim:

напор

Поддержка терминала выделена в терминальном приложении iTerm2 - оно сейчас в ночных сборках. Как упоминалось в запросе на улучшение, вам необходимо правильно настроить переменную TERMINFO.

Вы не можете с обычным шрифтом monaco, кажется.

Кажется, что только MacVim позволяет курсив.

Вот

В моем тестировании добавление set background= или же set background=dark или же set background=lightв файл vimrc делает свое дело! Даже если я использую предустановленную по умолчанию terminfo xterm-256color без информации, выделенной курсивом! Больше ничего не работает, даже если я использую xterm-256color-italic, предложенный в предыдущих ответах.

Полное решение, основанное на предыдущих ответах:

      let &t_ZH="\e[3m"
let &t_ZR="\e[23m"
highlight Comment cterm=italic
set background=dark " or set background=light or set background=

Я не знаю, почему это так, задал вопрос разработчикам Vim.

Конрад, не знаю о Terminal.app, но курсив поддерживается во многих различных эмуляторах терминала. на ум приходят urxvt, konsole, gnome-терминал.

Другие вопросы по тегам