将终端命令输出直接打印到vim-macOS中

将终端命令输出直接打印到vim-macOS中,macos,vim,terminal,tmux,gnu-screen,Macos,Vim,Terminal,Tmux,Gnu Screen,每当我在vim中输入终端命令时(例如,!echo hello),我都会立即被踢出查看该终端命令的结果,然后用按enter键或键入command继续提示。这有点刺耳。我希望留在vim中,并在底部打印命令输出 我知道vim:read将获取终端输出并实际将其放入我的缓冲区,但这不是我想要做的。这是如果你对切线感兴趣的话 看起来,当我在屏幕上运行vim时,我得到了我想要的东西,但我正试图让它与tmux和stock Mac终端一起工作。经过大量的研究,可能太多了,我得到了它!看起来vim将向终端发送命令

每当我在vim中输入终端命令时(例如,
!echo hello
),我都会立即被踢出查看该终端命令的结果,然后用
按enter键或键入command继续
提示。这有点刺耳。我希望留在vim中,并在底部打印命令输出

我知道vim
:read
将获取终端输出并实际将其放入我的缓冲区,但这不是我想要做的。这是如果你对切线感兴趣的话


看起来,当我在屏幕上运行vim时,我得到了我想要的东西,但我正试图让它与tmux和stock Mac终端一起工作。

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

set t_ti= t_te= " show results from terminal commands within vim!
据我所知,这只是确保不向终端发送任何内容,从而产生我想要的结果


旁注:上述添加到
.vimrc
文件中的内容也将阻止vim缓冲区在退出vim时清除(例如,
:wq
)。我同意!有时候看到你正在做的事情是很好的:)。

有一秒钟,我以为你正在将某个变量的值设置为“显示vim中终端命令的结果!”,对于一个选项来说,这似乎有点奇怪。哈哈,我知道你是怎么想的!你认为使用< <代码> VIMRC/<代码>注释会更清楚吗?我通常把评论放在上面的行上,但是我不知道平均VIM用户是否认为更自然/可读。对于它的价值,我把我的评论放在上面的行上,因为我认为它更自然,更易读。