(autoload 'maxima-mode "maxima" "Maxima mode" t) (autoload 'maxima "maxima" "Maxima interaction" t)
(setq auto-mode-alist (cons '("\\.max" . maxima-mode) auto-mode-alist))
(autoload 'maxima-mode "maxima" "Maxima editing mode" t)
(autoload 'maxima "maxima" "Running Maxima interactively" t)
M-C-a フォームの先頭に移動します M-C-e フォームの末尾に移動します M-C-b S式の先頭に移動します M-C-f S式の末尾に移動します
また以下のコマンドも用意されています:
M-h 現在のフォームをマーク C-c) 現在のリージョンで括弧の対応をチェック C-cC-) 現在のフォームで括弧の対応をチェック
Maximaモードでは M-TAB による補完コマンドも用意されています. 複数の候 補がある場合には候補がバッファに表示されます. 変数 maxima-use-dynamic-complete がnon-nilなら, M-TAB で可能な補完をサイク リックに行います.
バッファの一部がMaximaプロセスに送られます. もしプロセスが実行されてい なければ, まずプロセスを実行するところから始めます:
C-cC-r リージョンをMaximaに送る C-cC-b バッファをMaximaに送る C-cC-c 行をMaximaに送る C-cC-e フォームをMaximaに送る C-RET フォームを構成する最小の行セットを送り, 次行へ移動 M-RET フォームを構成する最小のリージョンセットを送り, 次行へ移動 C-cC-l Maximaに読み込むファイル名を入力
Maximaに何かが送られると, Maximaプロセスの実行バッファが現れます. C-c C-p でも同様に表示されます. Maximaに情報を送るコマンドが発効されると, 括弧がきちんと対応しているか どうか, リージョン(バッファ/行/フォーム)を検査します. 引数をつければ検 査を省略します. C-cC-k でMaximaプロセスを切ることができます. 通常は確 認されますが, 確認も省略したければ引数をつけて C-cC-k を与えます.
デフォルトでは, 字下げは前の行と同じレベルに設定されています. 開き括弧 には空白が追加されます. インデントの振舞いは M-x maxima-change-indent-style で変更することができます. 以下が選択できま す:
最後に, 以下のコマンドも紹介しておきます:
C-cC-d Maximaのトピックについてのヘルプ C-cC-m Maxima info マニュアルを読む C-cC-h (f12) カーソル位置にあるシンボルのヘルプ C-cC-a (M-f12) カーソル位置にあるシンボルのに関連した事柄
Maximaプロセスバッファでは, RET を押すと括弧の対応が調べられ, 入力とし て送られます. C-RET であれば検査なしで送られます.
;; <M-tab> will complete the Maxima symbol as much as possible, providing ;; a completion buffer if there is more than one possible completion. ;; If `maxima-use-dynamic-complete' is non-nil, then <M-tab> will ;; cycle through possible completions. ;; <C-M-tab> will complete the input line, based on previous input lines. ;; C-c C-d will get help on a Maxima topic. ;; C-c C-m will bring up the Maxima info manual. ;; C-cC-k will kill the process and the buffer, after asking for ;; confirmation. To kill without confirmation, give C-M-k an ;; argument. ;; To scroll through previous commands, ;; M-p will bring the previous input to the current prompt, ;; M-n will bring the next input to the prompt. ;; M-r will bring the previous input matching ;; a regular expression to the prompt, ;; M-s will bring the next input matching ;; a regular expression to the prompt. ;; ** Running Maxima from the minibuffer ** ;; The command M-x maxima-minibuffer ;; will allow you to interact with Maxima from the minibuffer. ;; The arrows will allow you to scroll through previous inputs. ;; The line ;; (autoload 'maxima-minibuffer "maxima" "Maxima in a minibuffer" t) ;; in your .emacs will make sure the function is available. ;; If the variable maxima-minibuffer-2d is non-nil, then the output ;; will be in Maxima's 2d output form, otherwise it will be in ;; Maxima's 1d output form. (For XEmacs, only the 1d form is available, ;; since the minibuffer isn't resizable.) ;; The command maxima-insert-last-minibuffer-output will insert ;; the last minibuffer output; if the output is in 2d, this will look ;; unpleasant. With an argument, maxima-insert-last-minibuffer-output ;; will insert the TeX form of the output. (The variable ;; maxima-minibuffer-get-tex need to be non-nil for this to work.)