『macOS Mojaveのキーリピートで困った話』 の対応策としてalacrittyに乗り換えてみる。
インストール
Alacritty本体
brew cask経由でインストールできるものの、後述のmanやfishの補完、terminfoを入れたい場合には別途ソースが必要になる。
今回はこれらも含めてインストールしたいのでいっそのことソースからビルドしてインストールすることにした。
Manual Installationに従って実施。
リポジトリからソースを取得。
git clone https://github.com/jwilm/alacritty.git
cd alacritty
rustコンパイラ rustup のインストール。
curl https://sh.rustup.rs -sSf | sh
パスを通す。
echo 'set PATH $PATH ~/.cargo/bin' > ~/.config/fish/conf.d/rust.fish
source ~/.config/fish/conf.d/rust.fish
rustコンパイラをstable版に設定。
rustup override set stable
rustup update stable
ビルドとインストール。
make app
cp -r target/release/osx/Alacritty.app /Applications/
Manual Page
Manual pageをインストール。
gzip -c alacritty.man | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null
Fish completions
Manual Installation上の記述はfish 2.x用になっている点に注意する。
fish 2.xまではデータディレクトリの変数名は $__fish_datadir
であったが 3.xからは$__fish_data_dir
に変更されている。
fish 2.xの場合
sudo cp alacritty-completions.fish $__fish_datadir/vendor_completions.d/alacritty.fish
fish 3.xの場合
sudo cp alacritty-completions.fish $__fish_data_dir/vendor_completions.d/alacritty.fish
Terminfo
tic
コマンドを使ってalacritty用のterminfoをインストールするのだがOS X El Capitan以降ではSystem Integrity Protection(SIP)によって /usr
配下にはrootでも書き込む事はできない。(/usr/local
は除く )
tic
コマンドは /usr/share/terminfo
への書き込みができない場合 $HOME/.terminfo
に書き込むようになっているため sudo
せずに以下コマンドでalacritty用のterminfoをインストールする。
tic -e alacritty,alacritty-direct alacritty.info
以下のようなメッセージがもりもりと表示されるが無視。
"alacritty.info", line 17, col 8, terminal 'alacritty-direct': unknown capability 'RGB'
"alacritty.info", line 27, col 43, terminal 'alacritty+common': unknown capability 'AX'
"alacritty.info", line 27, col 47, terminal 'alacritty+common': unknown capability 'XT'
"alacritty.info", line 54, col 41, terminal 'alacritty+common': unknown capability 'E3'
コンフィグレーション
alacrittyにはコンフグレーション用のUIは無くyamlファイルに設定を記述する。
yamlファイルの配置場所は従来の $HOME/.alacritty.yml
に加えて XDG Base Directory Specificationに沿った以下の場所に配置する事も出来る。
$XDG_CONFIG_HOME/alacritty/alacritty.yml
$XDG_CONFIG_HOME/alacritty.yml
$HOME/.config/alacritty/alacritty.yml
yamlの雛形は以下から取得する。
https://github.com/jwilm/alacritty/blob/master/alacritty.yml
好みに応じてコンフィグレーションを修正。
余白とフォントを修正。
window:
padding:
x: 8
y: 4
font:
normal:
family: "RobotoMono Nerd Font"
style: Regular
bold:
family: "RobotoMono Nerd Font"
style: Bold
italic:
family: "RobotoMono Nerd Font"
style: Italic
size: 13
なおフォントを設定しても日本語がうまく表示されない場合は正しく環境変数LANGが設定されているかどうか確認する。
日本語キーボードを使用しているためバックスラッシュ入力のためキーバインディングを調整する。
YENキーでバックスラッシュ、Alt + YENの円記号が入力されるようにする。
key_bindings:
・ ・ ・
- { key: Yen, chars: "\x5C" }
- { key: Yen, mods:Alt, chars: "\xA5" }
以上でalacrittyのセットアップは終了。
普段と同じようにtmuxを起動し、キビキビと動くCUI生活を満喫することが出来るようになる。