
當我嘗試執行一些命令(例如: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- 垂直分割視窗
然後您可以使用僅用於編輯文件的窗口,並使用第二個窗口來執行:製作。