在Windows XP上運行控制檯應用程序時,有沒有辦法可以禁止顯示命令窗口?在Windows上運行控制檯應用程序時抑制命令窗口
詳細信息:我打電話給Vim(基於控制檯)的程序。我希望避免每次執行此操作時都顯示命令窗口。
在Windows XP上運行控制檯應用程序時,有沒有辦法可以禁止顯示命令窗口?在Windows上運行控制檯應用程序時抑制命令窗口
詳細信息:我打電話給Vim(基於控制檯)的程序。我希望避免每次執行此操作時都顯示命令窗口。
你嘗試shell.vim?
的xolox#殼#執行()函數
此功能允許其他的Vim 插件在後臺執行外部命令 (即 異步地)而不打開 命令提示Windows上的窗口。
嘗試start /B <program name>
在沒有新窗口的情況下啓動程序。
也許你可以使用這樣的一些AutoHotkey的腳本:
Loop {
WinWait, my command window title
WinHide
}
該實用程序也將做的工作:
我不能相信沒有人曾建議簡單地使用:無聲
例如,我有以下的中我的.vimrc(在Win7上的gvim)
"open windows explorer to the directory of the current file
:map <leader>ex :silent !Explorer %:p:h<CR>
當我不想看到從Vim命令行調用的外部命令的輸出,我會在:silent
之前加上它們。但是,這會導致在MS Windows下運行GVim時,屏幕上會立即閃爍一個命令窗口。一段時間後,我對這種行爲感到惱火,所以我研究了其他解決方案(這就是我遇到這個問題的方式)。
我想出了最好的解決辦法是使用Vim的內置system
function它運行shell命令,而無需打開外部命令窗口。儘管shell命令的輸出未打印,但其退出狀態可通過v:shell_error
方便地獲得。它還具有可跨所有平臺移植的優點。
的例子(echo
聲明應打印0
如果C:\Windows
存在):
call system("dir c:\windows")
echo v:shell_error
當您希望沒有外部命令窗口時,「系統」功能非常棒。 – zhenguoli
這是從cmd窗口工作的一個很好的答案(所以+1)。但是,'start'似乎是cmd.exe的內置命令,這意味着如果不先啓動cmd.exe,就無法使用它。這意味着我無法在Vim中使用它。 – Szabolcs
嗯? :!開始似乎是一個vim命令。因此,例如':!start/b cmd/c「explorer.exe」'將打開一個資源管理器窗口,無需創建控制檯或顯示它。 –
@AchalDave:不,start不是那裏的vim命令。 ':!'意味着在命令shell中執行其餘部分,所以您只需在那裏調用'cmd.exe'' start'命令。 – orev