vim中的多个有向图

时间:2012-01-18 09:04:57

标签: vim hotkeys digraphs

您可能知道,可以使用有向图在vim中输入一些特定字符(例如,在输入模式下,Ctrl + K Rg产生®)。

有没有办法,定义热键,进入允许我输入多个有向图的模式?例如,要写“sayon​​ara”而不是“Ctrl + K sa Ctrl + K yo Ctrl + K na Ctrl + K ra”来获得“さよなら”。

1 个答案:

答案 0 :(得分:5)

不是我知道的。但是你可以想象这个:

exec 'normal! i' . substitute('sayonara', '\(..\)', nr2char(11) . '\1', 'g')

nr2char(11)是一个CTRL-K字符。

如果你想要一个映射(例如在视觉模式中点击选择上的F1来转换它;仅在单行字符选择上使用它):

xnoremap <f1> d:exec 'normal! a' . substitute(@", '\(..\)', nr2char(11) . '\1', 'g')<ENTER>

可能有更多正确的方法(不删除默认寄存器的内容),但我今天太懒了。我怀疑一些Stackers可能想用更干净的代码发布另一个答案,他们会得到我的upvote。