Hatena::ブログ(Diary)

t9mdの日記 Twitter

2009-11-12

iTerm で Command key をMETAキーとして使用するもう一つの方法

Emacsを使っているとShellのコマンドラインでもWord単位で移動する META-b とか META-f とか、C-y 後に META-y したくなったりする。

MacユーザーはCommandキーがoptionよりも押しやすいので、CommandキーをMETAキーとして使いたいとも思う訳だ。

Leopardに元々ついているTerminal.appはいまいちなので、俺はiTermを使ってるが、CommandキーをMETAキーとして使用するわりと簡単な方法が分かったので書いておく。

日本でも外国でもパッチを当てる方法がよく見つかる。

http://openlab.dino.co.jp/2007/10/30/095010128.html や、id:hnw:20081219 をみていろいろやってみた。

俺も格闘してパッチを当てる方法も試してみて、それはそれでちゃんと動いたが、iTermのソースに手にも、外部ツールにも頼らずにやれるという結論になった。

その方法を紹介する。

情報元は下記。

http://ninjamonkeys.co.za/forum/index.php?topic=598

Bookmarks > Manage Profiles から Keyboard Profiles のGlobalの方にMappingを追加すればOK。

META-f, META-b, META-yを追加する場合は下記のようになる。

■ Command-b

Key=hexcode 0x62

Modifier: Command

Action: send escape sequence => b

High interception priority にチェック

■ Command-f

Key=hexcode 0x66

Modifier: Command

Action: send escape sequence => f

High interception priority にチェック

■ Command-y

Key=hexcode 0x79

Modifier: Command

Action: send escape sequence => y

High interception priority にチェック

hex(Key)charKey Function(Emacs) Desc
62 b CMD-b backward-word 単語単位で戻る
66 f CMD-f forward-word 単語単位で進む
64 d CMD-d kill-word 前の単語を削除
79 y CMD-y yank-pop Yank Ringからポップ

■Yank Ring からPop について

C-y で最後にkillした文字を貼り付けられるが、直後に、CMD-y を押すと、そのもうひとつ前にkillした単語を張り付けられる。

CMD-y を連続して入力すると、その都度、yank ring をさかのぼって kill した文字列が挿入されるので、目的のものがでるまで CMD-y すればいい。

他のキーも必要な場合は、hexcodeの部分は man ascii で調べて追加すればいい。

下記は上記3つを追加した後のスクリーンショット。上から3つが今回追加したもの。

f:id:t9md:20091112181745p:image

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証