はじめに
ターミナルの描画速度が遅いです
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を使います
jwilm/alacritty
GPUを使ってレンダリングをしているため高速に動作するターミナルらしいです3
ターミナルと同じ事ができるので、
ターミナルや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時点)
- ホットキー登録が標準で無いので、必要なら自前で用意する必要がある
-
画面フォーカス時や特定のコマンド後、現在パスへ移動のようなコマンドが毎回自動で入力される見た目が気になる上、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は新規のプロジェクトで、コミットが盛んなので今後の更新に期待です