2

LinuxMintMayaでEmacs24.とOctave3.6.3を使用しています

initファイルを設定しましたが、すべて正常に動作します。Mx run-octaveは劣ったオクターブを与え、.mファイルはオクターブモードで自動的に開きます。

しかし、キーバインディングを機能させることができないようですか?オクターブモードのときは、「Ctrl」と「c」を同時に押してから「i」を押すと、emacsはCc iが未定義であると教えてくれますか?

誰か助けてもらえますか?簡単に回線を送りたい

4

3 に答える 3

3

ソースファイルを見たほうがいいです。オクターブ モードのショートカットを定義する方法は次のとおりです。

(defvar octave-mode-map
  (let ((map (make-sparse-keymap)))
    (define-key map "`" 'octave-abbrev-start)
    (define-key map "\e\n" 'octave-indent-new-comment-line)
    (define-key map "\M-\C-q" 'octave-indent-defun)
    (define-key map "\C-c\C-b" 'octave-submit-bug-report)
    (define-key map "\C-c\C-p" 'octave-previous-code-line)
    (define-key map "\C-c\C-n" 'octave-next-code-line)
    (define-key map "\C-c\C-a" 'octave-beginning-of-line)
    (define-key map "\C-c\C-e" 'octave-end-of-line)
    (define-key map [remap down-list] 'smie-down-list)
    (define-key map "\C-c\M-\C-h" 'octave-mark-block)
    (define-key map "\C-c]" 'smie-close-block)
    (define-key map "\C-c/" 'smie-close-block)
    (define-key map "\C-c\C-f" 'octave-insert-defun)
    ;; FIXME: free C-h so it can do the describe-prefix-bindings.
    (define-key map "\C-c\C-h" 'info-lookup-symbol)
    (define-key map "\C-c\C-il" 'octave-send-line)
    (define-key map "\C-c\C-ib" 'octave-send-block)
    (define-key map "\C-c\C-if" 'octave-send-defun)
    (define-key map "\C-c\C-ir" 'octave-send-region)
    (define-key map "\C-c\C-is" 'octave-show-process-buffer)
    (define-key map "\C-c\C-ih" 'octave-hide-process-buffer)
    (define-key map "\C-c\C-ik" 'octave-kill-process)
    (define-key map "\C-c\C-i\C-l" 'octave-send-line)
    (define-key map "\C-c\C-i\C-b" 'octave-send-block)
    (define-key map "\C-c\C-i\C-f" 'octave-send-defun)
    (define-key map "\C-c\C-i\C-r" 'octave-send-region)
    (define-key map "\C-c\C-i\C-s" 'octave-show-process-buffer)
    ;; FIXME: free C-h so it can do the describe-prefix-bindings.
    (define-key map "\C-c\C-i\C-h" 'octave-hide-process-buffer)
    (define-key map "\C-c\C-i\C-k" 'octave-kill-process)
    map)
  "Keymap used in Octave mode.")

ご覧のとおりC-c C-i l、行を送信するには使用する必要があります

于 2012-09-12T18:18:44.857 に答える
1

あなたが読んだドキュメントoctave-modeは古くなっていると思います。C-c C-iの代わりに接頭辞として使用する必要があるでしょうC-c i。完全なコマンドを使用するには、別の文字を入力する必要があります。たとえばrC-rリージョンを送信する場合などです。

この変更は、おそらく emacs 仕様に準拠するために行われたものです。Emacs は、ユーザー用に任意の 1 文字のキーを予約してC-c <char><char>ます。したがってoctave-mode、そもそもそのようなキーを使用するべきではありません。

于 2012-09-12T18:16:05.437 に答える
0

いくつかのマイナーモードを無効にします。おそらく、いくつかのコードが定義されており(define-key xx-map "\C-c i" nill)、モードフックによって影響を受けます

于 2012-10-10T21:56:32.703 に答える