はじめに
ターミナルの描画速度が遅いです
vimmerにとって重大な問題となっています1
僕のMacの環境では Terminal.app が一番悪くて、
カーソル移動するだけでも、かなり遅く感じる。
iTerm2ではスクロールが発生しないカーソルの移動は問題ないが、
スクロールが発生するカーソル移動を行うと遅く感じる。
調べてみると、困っている人は他にもいて、vimの設定などをいろいろ工夫している。Vim - General - Vim is too slow with syntax highlighting
vim syntax highlight improve performance - Stack Overflow
http://andrewbrookins.com/tech/slow-scrolling-in-vim-and-macvim-on-os-x-increase-key-repeat-settings/
vim描画で重いとされる2
行ハイライトや相対行をやめても
移動が重いと感じていました
alacritty導入
alacrittyを使います3
jwilm/alacritty
GPUを使ってレンダリングをしているため高速に動作するターミナルらしいです
ターミナルと同じ事ができるので、
ターミナルやiTermから乗り換えるようなイメージです
今回はmacに導入します
linuxも使えるみたいです
インストール(mac)
brew tap mscharley/homebrew
brew install --HEAD alacritty
設定ファイル
ターミナル、iTermのようにPreferencesでの設定ではなく、
ymlファイルで管理する(別PCと共有しやすく、個人的に好き)
$XDG_CONFIG_HOME/alacritty/alacritty.yml
$XDG_CONFIG_HOME/alacritty.yml
$HOME/.config/alacritty/alacritty.yml
$HOME/.alacritty.yml
上記パスのいずれかにymlファイルが無ければ起動時に$HOME/.config/alacritty/alacritty.yml
が自動生成される
alacritty.ymlはcloneしたプロジェクトの直下に初期ymlが置いてあるので
それを参考に、色やフォント情報を変える
alacritty注意点
- 日本語が表示できない(2016/04/13時点)
- ホットキー登録が標準で無いので、必要なら自前で用意する必要がある
/usr/local/Cellar/alacritty/HEAD-7bc1691/bin/Alacritty.app
- 画面フォーカス時や特定のコマンド後、現在パスへ移動のようなコマンドが毎回自動で入力される
- 見た目が気になる上、macのクリップボードをパスで上書きしてくるので困る
- macOS + tmux + vim is slow!というFAQがある
- mac + tmux + neovim 環境では問題無し
- F13キー以降が使えない
- vimで特殊なキー割り当てを使用していたため別キーに変えて対応
- tmuxのステータスバー情報にshellを使っていると、更新の度ステータスバーが増え続け、画面が埋まる
- shellを使ったバッテリー残量やwifi情報は一旦無しにする
使ってみて
- フォントをRictyにしたら日本語表示された(入力はできない)
- BoldのフォントをRictyにしたら特定の文字が消えたのでBoldのみMenlo(デフォルト)にしている
- タブや画面分割機能が無いのでtmuxが無いと厳しいかも
- 見た目や使用感はターミナルやiTermと同じ
- 描画が爆速すぎてiTermに戻れなくなる
終わりに
日本語を打つ機会は日常的にあるので
現時点ではiTermと共存して使うのが良いかな、と思いました
tmux使っていればsession切り替えで端末の切り替えがすぐできて相性良い感じがします
alacrittyは新規のプロジェクトで、コミットが盛んなので今後の更新に期待です