我有一些hackish便捷映射来编写常见的unicode字符。这些总是以非常快的顺序完成,我希望它们的超时比我的正常映射要短很多。
有没有办法让每次重映射超时? timeout
和朋友的帮助并没有给我很高的信心,但我知道那里有很多技巧。
例如
" should have normal timeout
inoremap <leader>f somecommand
" should have a short timeout
inoremap oe ø
答案 0 :(得分:0)
插入模式映射(其中也键入了子集)确实很糟糕,因为插入(不完整的映射)字符之前会有明显的延迟。最好避免这些。
有一种插入Unicode字符的内置方式,请参阅:help digraph
。对于您的示例字符,可以通过 Ctrl + K , O , / 输入。如果您想保留快捷方式,请重新定义:
:digraph oe 248
答案 1 :(得分:0)
要解决同样的问题 - 通过快捷方式添加Unicode字符 - 我使用vim keymap文件。在〜/ .vim / keymap / aaaaa_utf-8.vim和〜/ .vim / keymap_aaaaa.vim我有:
" short keymap name for statusline (I did't really write 'aaaaa')
let b:keymap_name = "aaaaa"
scriptencoding utf8
loadkeymap
;c <char-0xe7>
;C <char-0xc7>
;g <char-0x11f>
;G <char-0x11e>
;i <char-0x131>
;I <char-0x130>
;o <char-0xf6>
;O <char-0xd6>
;s <char-0x15f>
;S <char-0x15e>
;u <char-0xfc>
;U <char-0xdc>
然后在我的vimrc中我有
set keymap=aaaaa
我现在,习惯性地,没有思考,键入; C和Ç出现。我输入的速度很快,我从未注意到延迟:输入时没有延迟。
作为额外的奖励,我通过
在bash命令行上使用这些相同的快捷方式 ";c": "\xc3\xa7"
";C": "\xc3\xb7"
";g": "\xc4\x9f"
";G": "\xc4\x93"
";i": "\xc4\xb1"
";I": "\xc4\xb0"
";o": "\xc3\xb6"
";O": "\xc3\x96"
";s": "\xC5\x9F"
";S": "\xC5\x9E"
";u": "\xc3\xbc"
";U": "\xc3\x9c"
添加到我的.inputrc
供参考:
Ç ç Ğ ğ İ ı Ö ö Ş ş Ü ü
Code: 00c7 00e7 011e 011f 0130 0131 00d6 00f6 015e 015f 00dc 00fc
UTF8: c3 87 c3 a7 c4 9e c4 9f c4 b0 c4 b1 c3 96 c3 b6 c5 9e c5 9f c3 9c c3 bc