2012-10-22 45 views
2

我知道我可以使用外部程序在vim中運行我的代碼,但是我希望該程序每次都保持運行並接收我的代碼 - 而不是重新運行外部程序每次。Vim:每次在同一個外部程序中運行代碼

例如:我在vim中編輯我的Matlab文件,我想運行它。但是,我希望matlab實例處於後臺,並且vim將使用相同的實例在需要時繼續運行我的文件,而不是每次都打開一個新的matlab。

這可能嗎? 謝謝。

+0

在matlab實例調用結束時添加一個「&」。 – san

+0

我不明白,這只是打開matlab通常不運行我的代碼... – yoki

+0

如何設置Vim作爲Matlab的編輯器,並從Matlab運行Vim而不是其他方式? http://www.mathworks.es/es/help/matlab/matlab_prog/change-default-editor.html – Joni

回答

5

如果您可以配置外部程序(或者可能會添加一個包裝)以自動重新運行該文件(在Vim中通過保存或從其他地方進行修改),則實際上沒有任何實際觸發Vim(除了最初的程序啓動之外)。這是理想的情況。

在所有其他情況下,您需要從Vim到外部程序的通知機制。這是否可行以及如何執行取決於外部程序,但通常這很困難。有一些插件,例如無論何時保存,都會在瀏覽器中重新加載HTML頁面,但恐怕不能有一個通用的解決方案。那麼最好重新考慮你的整個方法。

+0

我猜想找到一個實現vim命令的Matlab的鍵綁定xml會更容易...但我找不到任何。 – yoki

+0

我不太喜歡其他應用程序中的vi鍵模式。一旦你迷上了Vim,你就需要這一切,而不僅僅是95%的模式,有例外和注意事項。這對我來說唯一適用的地方是Firefox和Vimperator/Pentadactyl,但那是因爲我只能導航,而不是實際編輯。 –

1

我主要對matlab也有這個問題。 我做的是一個映射: - 將編輯的文件名(或其一部分)複製到臨時剪貼板 - 使用wmcrtl切換到matlab 然後我進入matlab,所以我只需鍵入「Ctrl-V 「並且腳本運行。 然後可以自動回到vim。 請參閱示例: Vim and matlab GUI - Emulate matlab Run (<F5>) with Vim

+0

爲了以防萬一,你也在尋找這個功能: 我喜歡matlab gui的錯誤和警告。但是,有時候,當你點擊它們時,它不會打開vim。你必須使用opentoline.m函數來在正確的文件和行中打開一個vim服務器。我希望它有幫助。 –