1

我为文件路径的开头创建了一个 Vim 缩写,即

cab  \x\     M:\xmlexport\Output\

我想让这个扩展,删除空间并等待进一步的输入。我尝试过使用=Eatchar('s'),但不知道在它之前放置什么以使其正确触发。我见过的所有示例都使用<C-R>了新行。我试图<left>只是向后移动一个空间,但这会产生M:\xmlexport\Output \

4

1 回答 1

0

也许我误解了这个问题,但我已经测试了你指出的功能并且似乎有效:

我已将Eatchar功能添加到.vimrc

func Eatchar(pat)
   let c = nr2char(getchar(0))
   return (c =~ a:pat) ? '' : c                                                                                    
endfunc

在里面vim我创建了你的缩写,比如:

:cab  \x\     M:\xmlexport\Output\ <left><C-R>=Eatchar('\s')<CR>

然后我:\x\在命令行中写入,它扩展为:M:\xmlexport\Output\,光标位置就在最后一个反斜杠之后,以写入您想要的输入。

于 2012-02-08T10:54:26.723 回答