タグファイルを作れば、関数名、#defineされた定数、typedefされたタイプ名が、シンボル名として検索できる。
$ cd src $ etags *.[ch]
emacsの中からなら、diredでディレクトリを呼び出して、M-! etags *.c *h としてもよい。 カレント・ディレクトリに TAGS というファイルができる。 emacsでソースを呼び出して、TAGジャンプさせる
ファイルの最初から8行以内に Time-stamp: <> と書いてから ESC-x time-stamp とすれば時刻を入れてくれる。.emacs でカスタマイズして、Last-Update 等のようにファイルの保存時に自動的に入れることも出来る。
<愚痴>たったこれだけ(Time Stamp を入れる)のことをどうやるのか調べる手段がなさすぎ。ソースを読めって..最近の Linux Distribution では、emacs-lisp のソースは入ってないし、めったに使わない情報のために膨大なソースを入れるのもなんだかなぁ</愚痴>
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 のクリップボックスが如何に良くできているか(というかポリシーを貫いているか)が分かる例だ。
| コピーペースト | ||
| C-SPC | マークの設定 | |
| ESC-w | コピー | |
| C-w | 切り取り | |
| C-y | 貼り付け | |
| C-x h | バッファ全体のコピー | |
| 検索・置換 | ||
| ESC-x | replace-string | |
| ESC-x | query-replace | |
| SPC | 置き換え | |
| DEL | スキップ | |
| ESC | 終わり | |
| ! | 以後全て | |
| ^ | 前へ | |
| 履歴 | ||
| C-/ | undo | |
| C-x ESC ESC | repeat-complex-command | |
| M-p | previous-complex-command | |
| M-n | next-complex-commnad | |
C-\ とするとモードライン・インジケータに 'Aあ' というような表示が出る。 このモードで C-h I <RET> とすると説明が出る。Windows に比べると、 変換がかなり変だったりキー操作がかなり異なるので注意。
| quail入力中 | |
| K | カタカナに変換 |
| 変換候補表示中 | |
| C-o | 文節を伸ばす |
| C-i | 文節を縮める |
| C-f | 次の文節 |
| C-p | 前候補 |
| l | 次の候補グループ |
| L | 前の候補グループ |
| C-c | キャンセル |
変なローマ字
| よみ | 私の記憶 | quail |
| ん | nn | n' |
| ちょう | cyou | chou |
| でぃすく | dhisuku | dyisuku |
| C-x RET f "euc-japan-unix" | EUC-JP UNIX改行を指定 |
| C-x RET f "sjis-dos" | Shift-JIS DOS改行を指定 |