Emacsのターミナルエミュレーターは制御コードを上手く処理できずにしばしば壊れる。 libvtermはそれを回避できそうなのでインストールしてみる。
依存パッケージのインストール
まずは依存パッケージをインストールする。
libvterm
brew install libvterm
libtool
brew install libtool
cmake
brew install cmake
依存パッケージをインストールできたらemacs-libvtermをインストールする。
cmakeなどが見つからない場合はエラーするが、その場合は概ねcmakeへのパスが通っていない。
homebrewで入れた場合は /usr/local/bin
に入っているのでパスを通す。
(add-to-list 'exec-path "/usr/local/bin") (setenv "PATH" (string-join exec-path ":"))
libvtermをMELPAからインストール
今回はuse-packageを用いてMELPAからlibvtermをインストールする。
(use-package vterm :ensure t)
コンパイルするかどうかを聞かれるのでyesと答える。
コマンドのみを実行するなど
指定したコマンドを実行したりバッファ名を指定する場合は変数をシャドーイングすればよい。
(let ((default-directory cwd) (vterm-shell line) (vterm-buffer-name (format "%s: In %s" (car (split-string line)) (expand-file-name cwd))) (vterm-kill-buffer-on-exit nil)) (vterm)))