2013年03月29日

VimでMetaキーを使った key mapping には注意が必要

テキストエディタVimで key mapping (キーボードショートカット)を設定する際の注意点について。

以下、全て Caps Lock はオフという前提で。

例えば、以下の2つの:mapは同じ挙動となる。

:map <C-a> :echo "hogehoge"<CR>
:map <C-A> :echo "hogehoge"<CR>

<C-A>はあくまで Ctrl+A であって、 Ctrl+Shift+A ではない。

しかし、以下の2つの:mapは同じ挙動にはならない

:map <M-a> :echo "hogehoge"<CR>
:map <M-A> :echo "hogehoge"<CR>

前者の"a"は「小文字のa」だが、後者の"A"は「大文字のA」。

なので例えば、以下2つの:map実行後、 Ctrl+a は"hogehoge"ではなく"fugafuga"を出力する。1つめのmappingを2つめの物で上書きする事になるからだ。

:map <C-a> :echo "hogehoge"<CR>
:map <C-A> :echo "fugafuga"<CR>

それに対し、以下2つの:map実行後、 Meta+a は"hogehoge"を、 Meta+Shift+a は"fugafuga"を出力する。別のmappingと認識されるからだ。

:map <M-a> :echo "hogehoge"<CR>
:map <M-A> :echo "fugafuga"<CR>

分かりづらい……

参照

gvim on windows does not accept alt modifier key

(多分)日本人同士で英語で会話するというのも何か変な気分だ。英語のMLなのでそうなるんだけど。

Meta(キー)

だいたいAltキーの事。

":help meta" を参照。

ラベル:vim tips
posted by 天井冴太 at 05:03| Comment(0) | TrackBack(0) | IT的つれづれ | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください

この記事へのトラックバック