Emacsはエディタとの見方が最も一般的でしょうが、Emacs Lisp言語のインタプリタともいえます。Lispを用いて際限なくカスタマイズできるため、往々にして手段と目的が逆転しがちです。おかげで各種プログラミング言語やTeXソースなどの編集支援や、MUA・WWWブラウザ等様々な機能がどこかのだれかによって実現されています。Muleと呼ばれているものはEmacsを多言語対応にしたものであり、本質的には同じものです。(Emacs20.1で統合されたそうですが、詳しくは知りません)
などを私は使っています。標準でついてくるライブラリも色々あって、例えばStandard Elisp Librariesなんかが参考になります。
先程述べたように、Windows環境でEmacsを使用するためにはMeadowという選択肢が何かと便利です。ですが、Windows環境とUNIX環境の狭間で困ることが幾つかあります。私の場合migemoと印刷に苦労した覚えがあります。migemoに関してはこちらの「migemo」というページを、印刷に関しては川又研究室knowhow集を参考にさせてもらいました。
ECB - Emacs Code Browserなのだそうで、スクリーンショットが派手。いじりたいが時間がない。
speedbarでツリー表示ができるみたい。いじりたいが時間がない。とりあえず
(define-key speedbar-file-key-map "a" 'speedbar-toggle-show-all-files)
でファイルの表示/非表示のトグルが可能(http://chaosweb.complex.eng.hokudai.ac.jp/~hagi/contents/files/meadow199.el より)。マウス中クリックのメニューからも辿れる。
http://wiki.gohome.org/teranisi/?EmacsOnWindows
文脈の機能に応じて色分けが可能。
list-faces-display
で閲覧
C-x C-f 開く C-x C-r 読みとり専用で開く C-x C-s 上書き保存 C-x C-w 別名で保存 C-x C-c emacsの終了
C-f 前へ C-b 後へ C-p 上へ C-n 下へ C-a 行頭へ C-e 行末へ M-> ファイル末尾へ M-< ファイル先頭へ M-a 文頭へ M-e 文末へ C-s 検索 M-% 置換 M-x query-replace-regexp 正規表現による文字列の置換 C-x i カーソル位置にファイル挿入 M-l ポイントに続く単語を小文字に M-u ポイントに続く単語を大文字に M-c ポイントに続く単語を大文字で始める C-x C-l 選択した領域を小文字に C-x C-u 選択した領域を大文字に (.emacsによって C-h をbackspaceに割り当てる人が多い)
C-x 2 ウィンドウ横分割 C-x 3 ウィンドウ縦分割 C-x o 他のウィンドウへ移動 C-x 0 現在のウィンドウ消去 C-x 1 他のウィンドウ消去 C-x ^ ウィンドウを高く C-x } ウィンドウ幅を広く C-x { ウィンドウ幅を狭く C-M-v 別ウィンドウのスクロール C-x 5 2 別フレームを開く C-x 5 f 別フレームでファイルを開く C-x 5 b 別フレームでバッファを開く C-x 5 0 フレームを閉じる
C-w キル(カット) C-y ヤンク(ペースト) M-y "C-y"の後に使うと、以前キルしたリージョンをヤンクできる M-w コピー
複数の領域のペーストを何度も使い回したいときは、レジスタを使うのが便利です。アルファベット1文字で指定されるレジスタ名に領域を保持することができます。
C-x x REGISTER 領域を指定されたREGISTERにコピー C-x g REGISTER 指定されたREGISTERをペースト C-x r r REGISTER 領域を指定されたREGISTERに矩形でコピー
テキストを「表」とみなして編集できます。便利です。 C-x r k 矩形切り取り C-x r y 矩形貼り付け C-x r c 矩形クリア C-x r d 矩形削除 C-x r o 矩形空白挿入 C-x r t STRING 各行のrectangle regionにSTRINGを挿入する.
C-x C-b バッファのリスト表示 C-x b バッファ間移動 M-n 次のバッファへ M-p 前のバッファへ
C-c b space begin型補完 C-c B space 既存の箇所のbegin型補完 C-c e endの補完 C-c s section型補完 C-c S 既存の箇所のsection型補完 C-c l large型補完 C-c L 既存の箇所のlarge型補完 C-c m maketitle型補完 C-c a アクセント記号補完 ; 数式記号補完 ; TAB 数式記号補完の一覧 : ギリシャ文字補完 : TAB ギリシャ文字補完の一覧 C-c tj compile C-c tp preview C-c ' エラー箇所にジャンプ C-c ( label作成 C-c ) ref作成 C-c g 対応するlabel <-> ref 間にジャンプ
tabular[*], array, itemize, enumerate, tabbing 環境をbegin型補完で入力した時、または各環境内では次のものが有効です。
ESC RET ... おまかせ改行。その環境に応じた行エントリを次の行に挿入する
YaTeXと直接関係ありませんが、reftex-modeというのが文献引用に役立ちます。こちらのBibTeX と bibtex-mode, reftex-mode の使い方に詳しく解説されています。
C-c [ citeコマンドの挿入
YaTeXの知らない補完を行う時は、ホームディレクトリの.yatexrcに
(setq user-section-table '( ("DD" 2) ))
などと記述すれば覚えてくれます。(この例はsection型)「2」というのは引数の数です。微分dy/dxを表すコマンド\DD{y}{x}を
\newcommand{\DD}[2]{\frac{\mathrm{d}#1}{\mathrm{d}#2}}
の様に作った時、上の記述を.yatexrcに加えると便利です。
C-c C-r ルーラーの表示 C-c C-w 幅72文字のウィンドウ表示 C-M-a 副プログラムの先頭へ C-M-e 副プログラムの末尾へ C-c C-n 現在か次の文の先頭へ C-c C-p 現在か次の文の末尾へ
g,U 指定したURIへ B 戻る a ブックマークに追加 v ブックマークを閲覧 M 外部ブラウザで見る R リロード C-c C-c フォーム送信 C-c C-t バッファをコピー、タブ生成 C-c C-n,p タブ切り替え C-c C-w タブ消去 SHIFT RET 新しいタブで開く TAB 次のリンクへ M-TAB 前のリンクへ
PREFIX(defaultは C-c @)の後に、
C-e 見せる C-c 隠す C-d 下位構造を隠す C-t 他を隠す C-a 全て見せる
要はキーワード補完がです。
M-/ 文字列の補完
ファイラです。操作はdired/dired-x A Leafy Treeより)にまとめられています。
C-x d Diredモード
バッファ内を変更するには以下のようにします。
C-x RET f バッファ内の文字、改行コード変更
なお、モード行表記の意味は以下の通り。
E ...... EUC J ...... JIS S ...... Shift JIS nil .... たぶんASCII : ...... unix 改行コード (DOS)... dos (Mac)... Mac
F1-m describe-mode 現在のモードの説明 F1-b describe-bindings 現在のキーバインドの説明 F1-v describe-variable こうして、major-modeとタイプすると現在のモード名がわかる C-u M-x info こうしてinfoファイルを直接呼びだして読める。 C-c C-r シェルモードで、最後に実行したコマンドへ移動 C-c C-y シェルモードで、最後に実行したコマンドを貼り付ける M-(num) (command) 数引数を指定した上でコマンド実行