Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从vim运行当前程序并查看vim内部的输出_Vim_Terminal - Fatal编程技术网

从vim运行当前程序并查看vim内部的输出

从vim运行当前程序并查看vim内部的输出,vim,terminal,Vim,Terminal,我想运行当前的Vim程序(本例中为Shell脚本),并在同一窗口中获得输出。我知道一些插件可用或正在使用 读取到新缓冲区 但这就是我正在做的 在VimVim myshell.sh中打开我的程序 将窗口拆分为新文件:拆分输出 :设置自动读取 将终端字符串输出到该文件:/myshell.sh>输出 但我还是要双倍进入才能离开终点站。有什么方法可以绕过它吗?为此,您可以使用silent。但在那之后,你需要重新绘制窗口 所以, :/myshell.sh>输出 然后呢,, :重画 您可以在vimrc中

我想运行当前的Vim程序(本例中为Shell脚本),并在同一窗口中获得输出。我知道一些插件可用或正在使用
读取
到新缓冲区

但这就是我正在做的

  • 在Vim
    Vim myshell.sh中打开我的程序
  • 将窗口拆分为新文件
    :拆分输出
  • :设置自动读取
  • 将终端字符串输出到该文件
    :/myshell.sh>输出

但我还是要双倍进入才能离开终点站。有什么方法可以绕过它吗?

为此,您可以使用
silent
。但在那之后,你需要重新绘制窗口

所以,
:/myshell.sh>输出

然后呢,,
:重画

您可以在
vimrc
中创建如下命令:

command! -nargs=+ Silent
\ | execute ':silent !' .<q-args>
\ | execute ':redraw!'
命令-纳格斯=+沉默
\|执行“:静默!”。
\|执行“:重画!”
然后像其他命令一样调用它


:Silent./myshell.sh>输出

您可以链接命令,包括“Silent”操作符<代码>:w |无声!!。/%>输出
在我的测试中起作用
:w
要写入文件,
|
要链接命令,
无提示
以静默方式运行下一个命令,然后
!。/%>运行命令的输出(%=缓冲区中的文件名)。