我有一个执行git diff的函数,在调用gitdiff之后,我希望在终端窗口中模拟以下按键:
G
移动到文件末尾a
附加q<cr>
键入q退出"终端滚动模式",然后进入gg
返回到文件顶部
代码:
function GitDiff()
terminal git diff --word-diff %
normal Gaq<Esc>gg
endfunction
:nmap <leader>t :call GitDiff()<cr>
然而,按键似乎并没有按预期执行。我想知道它是否需要延迟来等待终端命令完成执行?
我想这就是你想要的
function GitDiff()
terminal git diff --word-diff %
call feedkeys("Gag<Esc>gg")
endfunction
nmap <leader>t :call GitDiff()<cr>
我将normal Gaq<Esc>gg
替换为对feedkeys((的调用。
:h feedkeys