从vim内部运行外部命令

从vim内部运行外部命令,vim,Vim,当我在zsh中运行fc-l-20时,我得到了预期的输出 但是,当从vim内部运行相同程序时,如下所示: :r!fc-l-20zsh:fc:1:没有这样的事件:0 为什么会这样,以及如何将我之前的20个历史记录列表条目放入vim?fc是一个函数,因此必须从shell中调用。备选方案是fc-l-20 | vim-或者可能是fc-l-20 | pbcopy“*pfc是一个,因此必须从shell中调用。备选方案是fc-l-20 | vim-或者可能是fc-l-20 | pbcopy*p为了澄清op,当您

当我在zsh中运行
fc-l-20
时,我得到了预期的输出

但是,当从vim内部运行相同程序时,如下所示:

:r!fc-l-20
zsh:fc:1:没有这样的事件:0


为什么会这样,以及如何将我之前的20个历史记录列表条目放入vim?

fc
是一个函数,因此必须从shell中调用。备选方案是
fc-l-20 | vim-
或者可能是
fc-l-20 | pbcopy
“*p
fc
是一个,因此必须从shell中调用。备选方案是
fc-l-20 | vim-
或者可能是
fc-l-20 | pbcopy
*p

为了澄清op,当您从vim内部调用fc时,比如说,vim正在生成一个新的shell,您对fc的调用试图调用这个新shell的前20个命令,但是“没有这样的事件”,但是为什么当我从当前shell生成新的zsh shell实例时,我仍然可以访问父shell中的历史记录条目(因为它们在我的zsh设置中在生成的shell之间共享)?为了澄清操作,当您从vim内部调用fc时,就像这个vim正在生成一个新的shell,并且您对fc的调用试图调用这个新shell的前20个命令,但是“没有这样的事件”,但是为什么,当我从当前shell生成新的zsh shell实例时,我仍然可以访问父shell中的历史记录条目(因为它们在我的zsh设置中在生成的shell之间共享)?