vimrc:imap Alt +一个重音字符

时间:2014-08-30 13:07:48

标签: vim

我有一些按键(例如<M-[>imap&#39; d在.vimrc执行某些操作,例如

imap <M-[> <C-o>:silent !audtool --playback-seek-relative -3<CR>

用于在打字时大胆寻求(用于转录录制的语音)。我想对捷克键盘布局做同样的事情,恰好在那个位置有ú(u-acute)。所以我尝试了显而易见的

imap <M-ú> <C-o>:silent !audtool --playback-seek-relative -3<CR>

哪个不起作用。这里有什么解决方案?尝试:help key-notation和谷歌没有成功。只在gvim(而不是终端)中工作的解决方案很好。

1 个答案:

答案 0 :(得分:0)

Vim有一种处理输入的古老方法 - 它表示为字节(字符)队列,而不是按键序列队列。我猜,字符<M-ú>(是的,它应该是一个字符)就不存在了,就像<C-1>没有一样。你可以在输入模式下按<C-v><M-ú>来确保它 - 一个普通的ú或什么都不会输入。因此,无法将<M-ú>映射到某个地方。

但是!因此,Vim不能很好地处理不同的外部布局而不是基本的QWERTY设计,它提供了一个自己的(内部)机制来支持第二种布局。

如果你执行:set keymap=czech,你就可以在Vim中切换<C-6>内的输入语言,而忘记映射混乱 - 映射<M-[>(以及z },2等)在两种布局中都意味着一个关键的和弦。

BTW,这实际上是将Vim充分用于布局与QWERTY(例如Cyrillic)完全不同的语言的唯一方法。