軽量なターミナルエミュレータ Alacritty

長らく開発は何らかのターミナルエミュレータ + tmux + vim で行っている。Windowsでも mac でも Linux でも同じ。ターミナルを起動したら tmux も起動する。あるウィンドウではペインをいくつかに分割して複数台のサーバやネットワーク機器にリモートログインしてオペを行う。またあるウィンドウではvimを起動してコードを書く、ファイルを編集する。といったスタイルを10年以上続けている。

近年ではターミナルは iTerm2 やら Hyper.js を使ったり、エディタは vim だったり neovim だったりとツールの乗り換えは不定期にやっているが、ターミナル + tmux + vim の基本的な組み合わせは変わっていない。今回はターミナルを Hyperjs から Alacritty に乗り換えた。

ターミナルが遅い

ここでいうターミナルとは iTerm2 または Hyperjsを指す。どちらも長らくお世話になった道具である。現状では Hyper.js を使っていたんだが、あるとき Hyperjs 上で起動した vim がめちゃくちもっさりした動きになっていることを感じた。vim が遅くなる要因はいくつかあって大抵は vimrc を書きすぎだったり、プラグイン入れすぎだったり、重い設定を書いていたり…なのだが、俺の vimrc は大した量ではなく、またプラグインも大して使っておらず比較的スリムな設定だと思う。

CPU 使用率を見ると、vim と同時に Hyper.js のプロセスが目立った。トラブルシューティングのために Hyper.js を iTerm2 に変えてみたりリモートのサーバに接続して作業してみたところ、iTerm2 や Hyper.js の描画が遅いのが原因のようだった。深くは調べていないが、解像度が高いディスプレイを使ったりしていると描画が激遅になるようだ。

Alacritty

生産性が激落ちなのでどうにかして軽量化できないか?を思案していたところ Alacritty を見つけた。Rust で書かれたターミナルエミュレータで GPU を使用することで描画の高速化を図っているらしい。既存のソフトウェアの設定をいじって頑張ってみるのもありだったんだがとりあえず試してみた。

ところで Alacritty はたぶん Alacrity のことだと思う。なのでアラクリティと発音するのかな。

所感

おわり


© 2020 Ore no homepage