LoginSignup
18
12

More than 5 years have passed since last update.

emacs multi-term で端末制御文字が出る問題への対処

Last updated at Posted at 2015-01-07

いろいろ苦労した末に、やっと emacs の multi-term 上でまともに zsh が動かせるようになったので、備忘録としてまとめる。multi-term や zsh のインストール方法は省略する。

端末制御文字が出る問題への対処

設定なしのまま起動すると 4m という文字が出た。M-r で bck-i-search した時も同じように、4m という文字が現れて崩れるため、まともに利用できなかった。

いろいろ調べた結果、emacs term で使う terminfo (端末制御文字と制御動作の対応表)がないのが原因らしい。あまりお目にかかることはないが tic というコマンドを使って、このファイルを作ってやればいいようだ。参考サイトによると、Emacs のインストールディレクトリに eterm-color.ti というファイルがあるはずだが、見当たらなかった。代わりに、コメント欄に書かれていたファイルを web からもらってきて、利用することにした。下のコマンドを実行後、emacs を再起動すると、4m のような制御文字は表示されず、期待した通り動くようになった。

curl https://opensource.apple.com/source/emacs/emacs-70/emacs/etc/e/eterm-color.ti\?txt > eterm-color.ti
tic -o ~/.terminfo eterm-color.ti

日本語が ???? になる問題への対処

multi-term 上で日本語が ???? になってしまうので、こちらにも対処した。
自分の環境下では、下の式を init.el に追記するだけで OK だった。

(setenv "LANG" "ja_JP.UTF-8")

参考にしたサイト

  1. emacs のシェルとターミナルのまとめ / http://blog.inouetakuya.info/entry/20110627/1309175529
  2. シェルとターミナルの違い / http://www.cc.kyoto-su.ac.jp/~hirai/text/shell.html
  3. terminfo とは何か / http://archive.linux.or.jp/JF/JFdocs/Text-Terminal-HOWTO-15.html
  4. tic コマンド / http://linux.die.net/man/1/tic
  5. emacs term で変な文字が出る / http://stackoverflow.com/questions/8918910/weird-character-zsh-in-emacs-terminal
  6. emacs term で日本語を正しく表示する / http://blog.inouetakuya.info/entry/20110624/1308878780
18
12
0

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
18
12