私はC-cをC-cをC-cとタイプするのではなく、Emacsの用語に直接渡すようにしています。C-cをemacsのtermに直接渡す
(defunのnewtermを() (インタラクティブ) (用語 "/ binに/ bashの") (名前変更-一意) (用語・セットエスケープ文字\ Cxの) (:?私は、定義された機能を持っています
これは、エスケープ文字をCx(私が望むもの)に設定するのに成功しましたが、EmacsがCcをキャプチャできないようにしました。
"無効にする"ことはできませんが、端末にC-cを入れるようにC-cを設定することは可能でしょうか?
デフォルトではわかりません。ターミナルでは常にC-Cと入力し、ターミナルにいるときに実行したEmacsコマンドはC-x bだけで別のバッファに移動します。
両方の私の「newtermを」関数定義の中に入れて別々に実行すると、EmacsはまだC-Cを捕捉しています。私はまた定義したキーワードモードモードマップ "?\ Cc" 'term-interrupt-subjob) (define-key term-mode-map(kbd "Cc")' term-interrupt-subjob)を試しました。効果もありません。 – spjt
それは、term.elの非常に長い立っている(そして些細な)バグです。あなたのnewtermはうまく動作するはずです(ローカルで設定されていないキーがなくても)。これはEmacs-24.2で修正されますが、その間にローカルのunset-keyを '(define-key term-raw-map [?\ C-c] 'term-send-raw)'に置き換えることができます。 – Stefan
ありがとう、それは動作します!今私が必要とするのは、M-xを動作させることですが、うまくいけばそれを理解することができます。 – spjt