2012-01-18 77 views
3

正如你可能知道的那样,有能力使用有向图在vim中输入一些特定的字符(例如,在输入模式下,Ctrl + K Rg产生)。vim中的多个有向图

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

+1

没有太多的答案,但你可以':设置digraph'然后键入单曲 O'等 – cmbuckley 2012-01-18 09:14:54

回答

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可能想用更简洁的代码发布另一个答案,他们会得到我的赞扬。

+1

有可能使用自纪录片'“\ ”',而不是'nr2char(11 )',如果我是正确的。 – 2012-01-19 02:20:17