首页 > 解决方案 > 将终端命令输出直接打印到 vim - macOS

问题描述

!echo hello每当我在 vim中输入终端命令(Press ENTER or type command to continue如 这有点刺耳。我想留在 vim 中,并在底部打印命令输出。

被踢出 vim 以查看和响应在 vim 中运行的终端命令的图像

我知道 vim:read会获取终端输出并将其实际放入我的缓冲区,但这不是我想要做的。如果您对切线感兴趣,这里有一些阅读材料。

看起来当我在 Screen 中运行 vim 时,我得到了我想要的东西,但我试图让它与 tmux 和股票 Mac 终端一起使用。

标签: macosvimterminaltmuxgnu-screen

解决方案


经过大量研究,可能太多了,我明白了!看起来 vim 会将命令发送到终端,这反过来又定义了如何从 vim 处理终端命令的行为。将其放入您的.vimrc文件中:

set t_ti= t_te= " show results from terminal commands within vim!

据我了解,这只是确保不向终端发送任何内容,从而产生我想要的结果!

在 vim 中运行的终端命令的图像显示 vim 中的输出

旁注:在您的.vimrc文件中添加的上述内容也将防止在退出 vim 时清除 vim 缓冲区(例如,:wq)。这个我没问题!有时候看到你刚刚在做什么真是太好了:)。


推荐阅读