use*_*249 3 vim hotkeys digraphs
您可能知道,可以使用有向图在vim中输入一些特定字符(例如,在输入模式下,Ctrl + K Rg产生®).
有没有办法,定义热键,进入允许我输入多个有向图的模式?例如,要写"sayonara"而不是"Ctrl + K sa Ctrl + K yo Ctrl + K na Ctrl + K ra"来获得"さよなら".
不是我知道的.但是你可以想象这个:
exec 'normal! i' . substitute('sayonara', '\(..\)', nr2char(11) . '\1', 'g')
Run Code Online (Sandbox Code Playgroud)
nr2char(11)是一个CTRL-K字符.
如果你想要一个映射(例如在视觉模式中点击选择上的F1来转换它;仅在单行字符选择上使用它):
xnoremap <f1> d:exec 'normal! a' . substitute(@", '\(..\)', nr2char(11) . '\1', 'g')<ENTER>
Run Code Online (Sandbox Code Playgroud)
可能有更多正确的方法(不删除默认寄存器的内容)但我今天太懒了.我怀疑一些Stackers可能想用更干净的代码发布另一个答案,他们会得到我的upvote.
| 归档时间: |
|
| 查看次数: |
260 次 |
| 最近记录: |