我有一个函数,我想执行一个关键命令,但我收到错误尾随字符:
function! MyFunction()
if condition
<C-W><C-W>
else
:some_other_command
endif
endfunction
它不喜欢<CW><CW>
我可以用什么来代替?
答案1
一般答案是使用命令:normal
,例如
:exe "normal \<C-W>\<C-w>"
该方法是识别特殊字符(例如控制键组合):execute
的可读方法。:normal
另一种方法是
:normal ^W^W
其中每个^W
是通过键入 插入的一个字符Ctrl-vCtrl-w。
答案2
使用进给键功能。请注意,^W 不是“^”+“W”,而是实际上键入“Ctrl-V Ctrl-W”。这是一个特殊的角色。
function! MyFunction()
if condition
call feedkeys("^W^W")
else
:some_other_command
endif
endfunction