

vimのキーバインドで`Ctrl``;`をインサートモードで利用したいと考えています。

[code]

    inoremap <C-;>　
    
[/code]

で登録しても機能しません。  
`C-;`を利用したいので、どのように記述をすればいいのか、分かる方教えて下さい。


CC BY-SA 3.0
2016-02-19T00:19:14.270
22254
2017-03-12T14:00:44.043
2016-02-19T02:10:21.890
12732
14458
question
vim
vimのキーバインドでctrl+;を使いたい


gvim は端末の文字入力をエミュレートしています。ですので結果から言いますと `CTRL`-`;` は使えません。

端末の文字入力で `SHIFT` は ASCII 入力コードから -0x20 シフトする(6ビット目を落とす)キーにアサインされています。つまり `a`
(0x61) は (0x41) `A` になります。また `CTRL` は ASCII 入力コードを -0x40
シフト(7ビット目を落とす)するためのキーにアサインされています。つまり `A` (0x41)に `CTRL` を合わせると (0x01)
になり、また`CTRL`-`H` は 0x08 つまり `BS` になるのです。

`;` (0x3B) は元々7ビット目が 0 なので `CTRL` を合わせても何も変わりません。ですので一般的な端末エミュレータでは `CTRL`-`;`
は使えません。これと同じ理由で gvim でも `CTRL`-`;` は使う事ができません。


CC BY-SA 3.0
2016-12-13T09:29:07.820
31117
2017-03-12T14:00:44.043
2017-03-12T14:00:44.043
440
440
22254
answer