您可能知道,可以使用有向图在vim中输入一些特定字符(例如,在输入模式下,Ctrl + K Rg产生®)。
有没有办法,定义热键,进入允许我输入多个有向图的模式?例如,要写“sayonara”而不是“Ctrl + K sa Ctrl + K yo Ctrl + K na Ctrl + K ra”来获得“さよなら”。
答案 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。