我无法在GVIM中成功地使用digraphs。根据这个网站(和VIM wiki),我应该能够通过插入模式下按Ctrl-Km*或Ctrl-Q956来输入mu字符µ。
- 当我尝试 Ctrl-Km* 时,我得到的是*
- 当我尝试 Ctrl-Q956 时,我得到的是ÿ
除了Ingo的回答外,还要确保你(或你的插件之一)没有重新映射任何键。例如,如果你正在使用UltiSnips,它会在插入模式下重新映射Ctrl-k,因此你尝试的第一种方法不起作用。由于你看到一个字面上的*
,我怀疑这就是阻止它工作的原因。
要查看键是否被映射以及它映射自哪里,请输入:
:verbose imap <C-k>
如果已经映射了,您可以将其重新映射到其他内容,或者只需使用Ctrl-q解决方案。
例如,要使Ctrl-y执行内置的双字符函数,请输入:
:inoremap <C-y> <C-k>
要永久生效,请将该行放入您的~/.vimrc
文件中(去掉前面的:
)。
:help i_CTRL-V_digit
解释了十进制数字输入仅适用于255及以下的数值。如果要使用这种方法,您必须输入十六进制值03BC
。因此,按键操作将是<C-Q>u03bc
。
双字母符号方法也应该可以工作。您需要同时按下 Ctrl 和 K,然后释放两个键,接着单独输入 m
和 *
。
根据字体不同,Vim可能无法正确显示字符。您可以使用ga
来验证其字符代码。
此外,您的编码必须支持该字符。最好使用:set encoding=utf-8
。
let g:UltiSnipsExpandTrigger="<tab>"
、let g:UltiSnipsJumpForwardTrigger="<tab>"
和let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
。这样就不会占用默认的 C-k,并且触发器是一致的。 - Roland Smith