6

エラーが発生すると、文字「✖」(Unicodeで定義)を出力するプロセスを実行しています。ただし、Emacs シェル バッファー (GNU Emacs の Aquamacs ディストリビューション) でプロセスを実行すると、エラーはまったく表示されません。

使用: braeburn.aquamacs.org の 2011 年 3 月 18 日の GNU Emacs 23.3.1 (i386-apple-darwin9.8.0、NS apple-appkit-949.54) - Aquamacs ディストリビューション 2.2

そのようなユニコード文字をサポートするために Emacs シェル バッファを取得するにはどうすればよいですか?

4

3 に答える 3

7

シェルからの出力をUTF-8として扱うように個々のシェルバッファーに指示するには、コマンドを発行し、C-x RET p「プロセスからの出力のコーディングシステム:」というメッセージが表示されたら「utf-8」と入力します。次に、「プロセスへの入力のためのコーディングシステム:」と尋ねられたら、「RET; 」と入力するだけです。UTF-8入力をシェルに直接提供することはありません。

または、この動作を自動的に取得するには、ファイルに入れ(prefer-coding-system 'utf8)ます.emacs。実際、これによりUTF-8が他のコンテキストでも使用されるようになります。これは、ほとんどの人がおそらく望んでいることです。

于 2011-07-12T21:02:19.633 に答える
4

次のような関数を呼び出して、utf-8 をサポートするシェルを作成できます。

(defun utf8-shell ()
  "Create Shell that supports UTF-8."
  (interactive)
  (set-default-coding-systems 'utf-8)
  (shell))

これにより、入力と出力の両方が UTF-8 に設定されるため、(たとえば) 次のことができます。

~ $ echo "✖"
✖

シェルを常に utf-8 サポートで開くようにしたい場合は、代わりに次のようにすることができます:

(defadvice shell (before advice-utf-shell activate)
  (set-default-coding-systems 'utf-8))

(ad-activate 'shell)
于 2011-07-12T21:12:44.020 に答える
0

このEmacsForMacOS wiki ページを見てください。

于 2011-07-12T17:50:58.597 に答える