На windows я всегда использовал SecureCRT для работы по ssh и горя не знал. Но тут мне в голову стукнуло, что надо попробовать 24-битный терминал и поработать по ssh, используя красивую тему для vim на удаленном сервере.
Шаг 1. Программа-терминал с поддержкой 24-bit
К сожалению, на данный момент SecureCRT не поддерживает 24-битный экран, висит только тред на форуме, что поддержку добавят в отдаленном светлом будущем.
Поэтому я пошел на поиски и нашел вот такой гит на эту тему. Там список разных терминалов для Linux / Mac / Windows с поддержкой True Color. Можно перебирать, смотреть, что нравится. Я остановился на MobaXterm для windows, он чем-то похож на привычный для меня SecureCRT, даже конфиг от SecureCRT подхватывает. Есть портабельная версия, скачать можно отсюда:
mobaxterm.mobatek.net
После запуска, если наберете команду:
lscolors
то увидите тестовую табличку как на скриншоте в начале статьи.
Шаг 2. NeoVim
Дальше поставил neovim на удаленной машине, к которой я собирался конектится по ssh, используя терминал от MobaXterm.
Вот инструкция по установке neovim:
github.com/neovim/neovim/wiki/Installing-Neovim
И поставил vim-plug:
github.com/junegunn/vim-plug
Шаг 3. Тема challenger_deep с поддержкой True Color
Я выбрал тему challenger_deep с поддержкой True Color, лично мне понравилась. Но их много разных, можно подобрать по вкусу, только надо смотреть, чтобы была поддержка True Color.
И самая минимальная конфигурация для neovim:
call plug#begin('~/.local/share/nvim/plugged')
Plug 'vim-airline/vim-airline'
Plug 'itchyny/lightline.vim'
Plug 'challenger-deep-theme/vim'
call plug#end()
syntax on
filetype on
filetype plugin on
filetype plugin indent on
set termguicolors
colorscheme challenger_deep
Файл ~/.config/nvim/init.vim — это аналог .vimrc для классического vim.
Дальше:
:PlugInstall
И, собственно, все должно стать похожим на скриншот.
Шаг 4. Поддержка цветов в tmux
По умолчанию, если запустить сессию tmux (аналог screen), то цвета поблекнут и вернутся в обычное скучное русло. Вот как можно это победить и вернуть цветовую гамму.
Создаем файл ~/xterm-24bit.terminfo со следующим содержимым:
xterm-24bit|xterm with 24-bit direct color mode,
use=xterm-256color,
sitm=\E[3m,
ritm=\E[23m,
setb24=\E[48;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm,
setf24=\E[38;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm,
Убедитесь, что есть пустая строка в конце файла.
Запускаем команду:
tic -x -o ~/.terminfo xterm-24bit.terminfo
И далее:
export TERM=xterm-24bit
Ее можно засунуть в .bashrc
В конфиг .tmux.conf добавляем:
set -g default-terminal "xterm-24bit"
set -g terminal-overrides ',xterm-24bit:Tc'
Запускаем tmux и enjoy!
P.S.
Я не пробовал сделать тоже самое в классическом vim и не пробовал сделать это в screen, вместо tmux. Если у кого-то работает, напишите, плз.