LoginSignup
68

More than 5 years have passed since last update.

ターミナルの描画を爆速にする(mac/linux)

Last updated at Posted at 2017-04-12

はじめに

ターミナルの描画速度が遅いです
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時点)
  • ホットキー登録が標準で無いので、必要なら自前で用意する必要がある
    • /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は新規のプロジェクトで、コミットが盛んなので今後の更新に期待です

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
68