Включение курсива в подсветке синтаксиса 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.
В моем тестировании добавление
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-терминал.