Vim 在同一个窗口中执行 bash 命令/make

Vim 在同一个窗口中执行 bash 命令/make

当我尝试运行某些命令(例如:make或 ):!ls时,它会在完全不同的屏幕/视图中显示输出,并且在此过程中看不到我正在编辑的文件。 有没有什么方法可以让我仍能看到我的文件并进行编辑,而我执行的命令可能可以在底部的窗口中运行,可能是快速修复窗口?

答案1

如果你正在使用 vim 8 或 neovim,也许你想尝试:

http://github.com/skywind3000/asyncrun.vim

完美替代 vim-dispatch,具有更好的用户体验。

在此处输入图片描述

  • 易于使用,只需通过:AsyncRun 启动后台命令(就像旧的“!”cmd 一样)。

  • 命令在后台完成,无需等待整个过程完成。

  • 输出显示在 quickfix 窗口中,错误与 errorformat 匹配。

  • 您可以立即探索错误输出或在执行时继续在 vim 中工作。

  • 当您专注于编辑时,响铃或播放声音来通知您工作完成。
  • 在 vim、neovim、gvim 和 macvim 中提供相应的用户体验。

答案2

你可以使用vim 调度异步构建(make)的插件。

或者如果你只是想要在 quickfix 窗口中使用 shell 命令,你可以在 ex 模式下使用:

:cexpr system('ls -alh') | copen

甚至更好,将它添加到你的 .vimrc 中

command -nargs=+ Run :cexpr system('<args>') | copen

并以 ex 模式运行:

:Run ls -alh

答案3

这种行为完全正常。CLI Vim 没有自带终端仿真器,因此绝不可以。不过,GUI Vim 附带了一个哑终端仿真器,我想这就是你“很久以前记得的”。

您需要一个插件来在单独的 Vim 窗口中运行命令。征服术语是我现在唯一能记住的名字,但我想还有其他一两个。

答案4

分裂vim窗户对你有用吗?

  • :分裂- 水平分割窗口
  • :vsplit- 垂直分割窗口

然后,您可以使用窗口仅编辑文件,并使用第二个窗口通过执行:制作

相关内容