web-dev-qa-db-ja.com

zshのEmacsモード:M-bM-fなどは奇妙な記号を表示します

Emacsモードを使用するようにzshを設定しました。しかし、タイピング Alt+f または Alt+b Wordをシェル内で移動するのではなく、奇妙な記号(アクセント付きの文字など)を挿入します。 「ae」記号をシェルプロンプトに挿入したくないので、どうすればzshを動作させることができますか?

Bashでも同じ問題が発生しましたが、実際にzshのカスタマイズに時間をかけているので、質問したいと思いました...

AltGr+b などが生成します異なる奇妙なシンボル...

Ubuntu10.4を使用しています

3
Seamus

誤動作しているのはzshではなく、xtermです。誤動作の理由は、xtermが文字番号を送信する原因となる廃止された設定ですx +128を押すと Alt 文字番号と一緒にx。テキスト端末での通常の動作は、 Alt+aESC aを送信します。

Xtermに8ビット文字をそのままにしておくように指示するには、XTerm.VT100.eightBitInputリソースをオフにします(名前にもかかわらず、8ビット文字を入力したときに何が起こるかには影響しません)。通常、これを行うには、~/.Xresourcesに次の行を追加します。

XTerm.VT100.eightBitInput:      false

~/.Xresourcesは、ほとんどのUNIXディストリビューションにログインしたときに読み取られます。すぐに読むには、コマンドを実行します

xrdb -merge ~/.Xresources