13 我有一个函数,我想执行一个键盘命令,但出现错误尾随字符: function! MyFunction() if condition <C-W><C-W> else :some_other_command endif endfunction 它不喜欢<CW> <CW> 我该怎么用呢? vim — 戴夫 source
20 一般的答案是使用:normal命令,例如 :exe "normal \<C-W>\<C-w>" 该:execute方法是:normal识别特殊字符(如控制键组合)的一种可读方法。另一种方法是 :normal ^W^W 其中每个^W字符都是通过键入插入的一个字符Ctrl-vCtrl-w。 — jw013 source 如果我^W在脚本中使用,它将以二进制模式打开。如何避免这种情况,还是我更喜欢使用:exe? — DenisKolodin
0 使用feedkeys功能。注意^ W不是“ ^” +“ W”,而是实际键入“ Ctrl-V Ctrl-W”。这是一个特殊的角色。 function! MyFunction() if condition call feedkeys("^W^W") else :some_other_command endif endfunction — us source
^W
在脚本中使用,它将以二进制模式打开。如何避免这种情况,还是我更喜欢使用:exe
?