Vim 在同一視窗中執行 bash 指令/make

Vim 在同一視窗中執行 bash 指令/make

當我嘗試執行一些命令(例如:make或 )時:!ls,它會在完全不同的螢幕/視圖中顯示輸出,並且我正在編輯的檔案在此過程中不可見。無論如何,我仍然可以查看我的文件並進行編輯,而我執行的命令可能可以在底部的視窗(可能是快速修復視窗)中運行?

答案1

如果您使用 vim 8 或 neovim,也許您想嘗試:

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

很好的替代 vim-dispatch,具有更好的用戶體驗。

在此輸入影像描述

  • 易於使用,只需透過 :AsyncRun 啟動後台命令(就像舊的「!」cmd)。

  • 命令在背景完成,無需等待整個過程完成。

  • 輸出顯示在快速修復視窗中,錯誤與錯誤格式相符。

  • 您可以立即探索錯誤輸出或在執行時繼續在 vim 中工作。

  • 當您專注於編輯時,按下響鈴或播放聲音來通知您工作已完成。
  • 在vim、neovim、gvim和macvim中提供相應的使用者體驗。

答案2

你可以使用vim 調度用於非同步建構(make)的插件。

或者,如果您只想在快速修復視窗中得到 shell 命令結果,您可以在 ex-mode 中使用:

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

更好的是,將其添加到您的 .vimrc 中

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

並在 ex 模式下運作:

:Run ls -alh

答案3

這種行為是完全正常的。 CLI Vim 沒有附終端模擬器,但會絕不做。不過,GUI Vim 附帶了一個愚蠢的終端模擬器,我認為這就是您「很久以前記得的」。

您需要一個插件來在單獨的 Vim 視窗中執行命令。征服術語這是我目前唯一記得的名字,但我想還有一兩個其他的名字。

答案4

會分裂維姆windows 適合你嗎?

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

然後您可以使用僅用於編輯文件的窗口,並使用第二個窗口來執行:製作

相關內容