重复读取外部程序vim的输入

重复读取外部程序vim的输入,vim,Vim,我经常做类似的事情 !r吉特差异。 我将此输入的刷新简化为: :调用feedkeys('ggdG:r!git diff') 但这至少需要::gg重复并移动到第一行进行检查 如何用更少的步骤刷新内容?刷新前记住第一行的额外积分 我知道对于git特定的命令有很多限制,但我想将其推广到运行任何shell命令。这个映射如何: nnoremap <F10> :%d<bar>r! YOURCMD<cr>gg 这个映射如何: nnoremap <F10> :%

我经常做类似的事情

!r吉特差异。

我将此输入的刷新简化为:

:调用feedkeys('ggdG:r!git diff')

但这至少需要:
:gg
重复并移动到第一行进行检查

如何用更少的步骤刷新内容?刷新前记住第一行的额外积分


我知道对于git特定的命令有很多限制,但我想将其推广到运行任何shell命令。

这个映射如何:

nnoremap <F10> :%d<bar>r! YOURCMD<cr>gg

这个映射如何:

nnoremap <F10> :%d<bar>r! YOURCMD<cr>gg
Steve Losh’s是一种通用且简单的方法来完成您的工作:

  • 将外部命令的输出显示到新的垂直窗口中

    :Clam git diff .
    
  • 刷新

    \r
    
  • 到第一线

    gg
    
Steve Losh’s是一种通用且简单的方法来完成您的工作:

  • 将外部命令的输出显示到新的垂直窗口中

    :Clam git diff .
    
  • 刷新

    \r
    
  • 到第一线

    gg
    

如果您想读取外部程序的输出,而不是输入,请修复标题。@Kent我想将其他应用程序的输出作为Vim的输入。现在的标题真的不太正确吗?@Kent换一种说法,其他一些应用程序写输出,而vim读输入。这听起来至少在我的脑海中是正确的。好的,我看到你的“输出”来自ext.cmd这里是vim的“输入”。好的检查答案,如果有帮助的话。我知道你想要一个通用的解决方案,但是请使用转义为git命令。真的很不错。请参阅:您想读取外部程序的输出,而不是输入,请修复标题。@Kent我想将其他应用程序的输出作为Vim的输入。现在的标题真的不太正确吗?@Kent换一种说法,其他一些应用程序写输出,而vim读输入。这听起来至少在我的脑海中是正确的。好的,我看到你的“输出”来自ext.cmd这里是vim的“输入”。好的检查答案,如果有帮助的话。我知道你想要一个通用的解决方案,但是请使用转义为git命令。真的很不错。见: