補完に良く使われるキー設定

 補完はモード毎に色々な補完がある上にAC-modeや沢山の補完が競合しあっていて、このモードでは違う補完にしようとか思ったりする時が結構あるんだけど、そういう時にどのキーに補完を割り当てるべきか迷うので、xyzzyとかemacsとかで慣習として補完に割り当てられているキーにを適当に覚えておいて、その辺に割り振ればいいかなぁとかそういうメモ。

emacsな補完のキーのイメージ

  • M-TAB : シンボル名の補完
  • TAB : minibufferでの補完
  • C-x ' : abbrev(静的補完)
  • M-/ : dabbrev-expand(動的略語)
  • C-M-/ : dabbrev-completion
  • C-. : シンボル名の補完、忘れてたけどC-.

 minibufferとは別にTabは結構複数の役目が割り当てられているケースが多く。他にも、インデント、Tabの入力、補完と、複数がTabに割り当てられている。オートインデントの場合タブキーでタブを入力する意味が余りないので、タブにインデントが割り当てられる場合が多いかも知れない。この辺は、個別のモードでも、TABの直接入力と、オートインデントの二律背反でキーを使ってる場合が多いように思う。

xyzzyなイメージ(emacsと違う奴だけ)

直接叩けないのでM-tabの押し変えてる話

  • C-M-i
  • C-[ Tab
  • C-[ C-i

■参考
Emacsキーバインド - XyzzyWiki
http://xyzzy.s53.xrea.com/wiki/index.php?Emacs%A5%AD%A1%BC%A5%D0%A5%A4%A5%F3%A5%C9#h692669d
GNU Emacsマニュアル: プログラムの編集
http://www.bookshelf.jp//texi/emacs-20.6-man-jp/emacs_23.html#SEC267
GNU Emacsマニュアル: 略語の利用法
http://www.bookshelf.jp//texi/emacs-20.6-man-jp/emacs_25.html#SEC321
GNU Emacsマニュアル: ミニバッファ
http://www.bookshelf.jp//texi/emacs-20.6-man-jp/emacs_7.html#SEC36

■以下関係ない話
 Emacsでは"C-/"*1がundoかも知れないけど、xyzzyだと"C-\"なので。この辺もC-/とかのキーもあまってるのでその辺もM-/の連想でなんか使えそう。とか思って下のcss+-modeの所ではC-/を試してみようとしてる感じ。

*1:xyzzyWikiのではC-/。EmacsのマニュアルではC-_かC-x uでundoが多いように思う。実際にはC-/でC-_が送られてるようなので同じかもしれない