undercurl=波線を引くやつを Alacritty, tmux, Neovim の環境で実現したかった。

tmux, neovim環境下でもundercurl表示に対応する の通りにした。

Alacrittyのterminfoを生成

https://github.com/alacritty/alacritty/blob/master/INSTALL.md#post-build

まず下のコマンドを打ってみた。

 infocmp alacritty
infocmp: couldn't open terminfo file (null).

見つからないといわれたので、マニュアル通り入れた。

 cd ~/src/alacritty
 sudo tic -xe alacritty,alacritty-direct extra/alacritty.info
 
# これでOK
 infocmp alacritty
alacritty|alacritty terminal emulator,
        am, bce, ccc, hs, km, mc5i, mir, msgr, npc, xenl,
        colors#256, cols#80, it#8, lines#24, pairs#32767,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
 

tmux.conf でdefault-terminalを設定

set -g default-terminal "alacritty"
set-option -sa terminal-overrides ',alacritty:RGB'

これでNeovimで波線がひかれるようになった。 :terminal を開いて echo -e "\e[4:3mTEST"

sshすると文字の削除が見た目上行われない

これを設定したあと、ssh中に文字を削除すると、表示上は文字が消えずにカーソルが進む事象が発生した(実際には消えている)

$ echo hello  _   # <- backspaceを2回おした状態。`echo hel` になっているが表示は消えていない

ssh先のterminfoに alacritty なんてないから表示が壊れるみたい。 vim を立ち上げようとすると確かに警告がでる。 GNU screen内からsshした先にTERM=screen.xterm-256color等がない場合の対処法

Neovim起動時だけでいいので、 alias vim='TERM=alacritty nvim' にした