我为文件路径的开头创建了一个 Vim 缩写,即
cab \x\ M:\xmlexport\Output\
我想让这个扩展,删除空间并等待进一步的输入。我尝试过使用=Eatchar('s')
,但不知道在它之前放置什么以使其正确触发。我见过的所有示例都使用<C-R>
了新行。我试图<left>
只是向后移动一个空间,但这会产生M:\xmlexport\Output \
我为文件路径的开头创建了一个 Vim 缩写,即
cab \x\ M:\xmlexport\Output\
我想让这个扩展,删除空间并等待进一步的输入。我尝试过使用=Eatchar('s')
,但不知道在它之前放置什么以使其正确触发。我见过的所有示例都使用<C-R>
了新行。我试图<left>
只是向后移动一个空间,但这会产生M:\xmlexport\Output \
也许我误解了这个问题,但我已经测试了你指出的功能并且似乎有效:
我已将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\
,光标位置就在最后一个反斜杠之后,以写入您想要的输入。