#navi(emacs)

#contents

**Menu Bar [#u4a9b82a]
sakuraのレンタルサーバーで、OSがFreeBSD 7.1になって emacs 22.3 が使えるようになった。だが、X11対応で作られておらず nwモードで立ち上がる。

最近はコマンドのキー・バインドを覚える余裕が無いので、Menu Barを頼りに使うことが多いのだが、nwモードでMenu Barを使うのは結構厄介だ。
Menu Barを呼び出すキー・バインドは、常識的な F10 で良いのだが、
このキー・バインドはGNOME Terminal等から使う場合は、すでに使われてしまっている。

GNOME Terminalで [編集:キーボードショートカット:メニューのショートカット・キーを無効にする] にチェックすると、F10キーがemacsに渡るようになる。

使用している端末でそのような設定が無い場合は、M+` (Alt + Shift + `) というキーの組み合わせでMenu Barを呼び出すことになる。

**Bookmark [#wf4efa85]
使えそうで使えない bookmark 機能。
dired のバッファでも bookmark (C-x r m)できる。
プロジェクト毎に独立したファイルに保存できれば良いのだが。~/.emacs に lisp でプログラムを書く必要があるのだろうか。
複数の emacs を立ち上げると、終了するときにそれぞれが自動保存するため、~/.emacs.bmk が壊れてしまう。

**TAGジャンプ [#g564c6ca]
タグファイルを作れば、関数名、#defineされた定数、typedefされたタイプ名が、シンボル名として検索できる。
 $ cd src
 $ etags *.[ch]
emacsの中からなら、diredでディレクトリを呼び出して、M-! etags *.c *h としてもよい。
カレント・ディレクトリに TAGS というファイルができる。
emacsでソースを呼び出して、TAGジャンプさせる
-M-. 定義部分に飛ぶ
-C-x 4 . 別ウィンドウに表示する

**Time Stamp [#u8919929]

ファイルの最初から8行以内に Time-stamp: <> と書いてから ESC-x time-stamp とすれば時刻を入れてくれる。.emacs でカスタマイズして、Last-Update 等のようにファイルの保存時に自動的に入れることも出来る。

~<愚痴>たったこれだけ(Time Stamp を入れる)のことをどうやるのか調べる手段がなさすぎ。ソースを読めって..最近の Linux Distribution では、emacs-lisp のソースは入ってないし、めったに使わない情報のために膨大なソースを入れるのもなんだかなぁ</愚痴>

**X11 Clipboard とリージョン(region) [#y8dc034c]
xtermの表示内容をマウスの左ボタンで選択して、別のxtermに中ボタンで貼り付けるという操作は、直感的でわかりやすいので良く使う。

ほんの数行の設定を別のコンピュータに移す場合、いちいちファイルを作って転送してとやるより、端末を呼び出してその場で編集してしまったほうが簡単だ。
ところが、xtermの選択範囲(x11のselection)を、emacsの編集画面で中ボタンを押して貼り付けようとすると、成功するときと失敗するときがある。
emacsを立ち上げてから一度もリージョン(region)を使っていないとうまくいくようだが、
そうで無い場合は、リージョンとして保存してあるバッファの内容を貼り付けてしまう。
 M-x clipboard-yank
というコマンドを使えば、x11のclipboadの内容を貼り付けることができる。

ところが、これでも貼り付けに失敗することがある。xtermで左ボタンを選択してできる selection 領域は、clipboard ではないから、clipboard-yank では出てこないからだ。
面倒だが、xclipboard を立ち上げて New ボタンを押して selection を clipboard に
変えて、clipboard-yank としなければならないようだ。

逆に emacs のリージョンを clipboard に送るには、.emacs に以下のように書いておく必要がある。
 (setq x-select-enable-clipboard t)

全く「誰か何とかしてくれ」と叫びたくなる面倒さだ。Mac や Windows のクリップボックスが如何に良くできているか(というかポリシーを貫いているか)が分かる例だ。

**Quick Reference Key Bindings [#cd462a07]

|BGCOLOR(white):|BGCOLOR(white):|BGCOLOR(white):|c
|>|>|BGCOLOR(#D0D8E0):コピーペースト|
|C-SPC|>|マークの設定|
|ESC-w|>|コピー|
|C-w|>|切り取り|
|C-y|>|貼り付け|
|C-x h|>|バッファ全体のコピー|
|>|>|BGCOLOR(#D0D8E0):検索・置換|
|ESC-x|>|replace-string|
|ESC-x|>|query-replace|
||SPC|置き換え|
||DEL|スキップ|
||ESC|終わり|
||!|以後全て|
||^|前へ|
|>|>|BGCOLOR(#D0D8E0):履歴|
|C-/|>|undo|
|C-x ESC ESC|>|repeat-complex-command|
|M-p|>|previous-complex-command|
|M-n|>|next-complex-commnad|

***日本語入力(leim) [#c882a697]
C-\ とするとモードライン・インジケータに 'Aあ' というような表示が出る。
このモードで C-h I <RET> とすると説明が出る。Windows に比べると、
変換がかなり変だったりキー操作がかなり異なるので注意。

|BGCOLOR(white):|BGCOLOR(white):|c
|>|BGCOLOR(#D0D8E0):quail入力中|
|K|カタカナに変換|
|>|BGCOLOR(#D0D8E0):変換候補表示中|
|C-o|文節を伸ばす|
|C-i|文節を縮める|
|C-f|次の文節|
|C-p|前候補|
|l|次の候補グループ|
|L|前の候補グループ|
|C-c|キャンセル|

変なローマ字
|よみ|私の記憶|quail|h
|ん|nn|n'|
|ちょう|cyou|chou|
|でぃすく|dhisuku|dyisuku|

***バッファの保存時の漢字コードの指定 [#k165913f]

|BGCOLOR(white):|BGCOLOR(white):|c
|C-x RET f "euc-japan-unix"|EUC-JP UNIX改行を指定|
|C-x RET f "sjis-dos"|Shift-JIS DOS改行を指定|

**Canna + Egg [#uc85c941]
|ESC k| カタカナ変換|

**その他のTips [#x8b57bdf]
|BGCOLOR(white):|BGCOLOR(white):|c
|Buffer内のgrep|'M-x occur' または、'C-u M-x occur'(前後の行も表示)|
|TABとSpaceの変換|リージョンを設定して 'M-x tabify' または 'M-x untabify'|
|キーマクロ|開始 'C-x (' 終了 'C-x )' 実行 'C-x e'|
|ファイルのブックマーク|登録 'C-x r m' 一覧 'C-x r l'|
|Buffer書き換え禁止|'C-x C-q' トグル動作 または 'M-x view-mode'|
|カーソル位置の文字コード|'C-x ='|
|バイナリ編集モード|'M-x hexl-mode'|
|バイナリ16進入力|'C-M-x 16進コード|

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS