ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

C-iをTAB文字の入力に

エディタxyzzyでのC++-modeでは、TABキーはTAB文字の入力ではなくインデントとなる。普通にコードを書いているときは便利なのだが、ときどきTAB文字を入力したくなるときがある。そんなときは C-q TAB とやって quote-char のコマンドを使ってTAB文字を入力していた。しかしこれは結構入力が面倒。ということで、C-iをTAB文字の入力に割り当てることにした。
すぐにできるかと思ったら、C-iはTABキーと同じものとして認識されていたので、結構手間がかかった。いろいろ検索して調べた結果、C-iを仮想キーに割り当てる方法で実現した。

(setf (svref *kbd-translate-table* (char-code #\C-i)) #\F13)
(global-set-key #\F13 #'(lambda () (interactive) (insert "\t")))

参考になったサイトは次のとおり。
http://xyzzy.s53.xrea.com/wiki/index.php?QuickTour%2Fext%2Fkey#dc6ede5b
http://xyzzy.s53.xrea.com/reference/wiki.cgi?p=FrontPage