我試圖用flymake運行pyflakes,作爲建議here用flymake和emacs中的流浪漢遠程運行pyflakes?
這對於本地文件工作得很好,幾乎可與遠程文件有一些調整,但我留下了一個問題,即flymake/pyflakes在運行時會修改緩衝區(雖然實際上沒有任何變化),這使得它在實踐中變得沒有用處(例如,保存文件運行flymake會立即修改緩衝區)。
這裏就是我所做的幾乎得到它的工作:
- 在遙控盒安裝pyflakes。
- 定製我的
tramp-remote-process-environment
變量,以便可以在其PATH中找到pyflakes - 使用上述wiki鏈接中的代碼變體。顯然,我排除了爲遠程緩衝區禁用它的檢查。此外,
(when (load "flymake" t) ...)
構建似乎沒有像我預期的那樣工作,但我並不擔心這一點。 - 重新定義(用於測試目的 - 建議應該罰款,如果這可以使工作)
flymake-start-syntax-check-process
函數,以便它使用start-file-process
(它與tramp一起使用)而不是start-process
(不會)。
在處理本地文件時,#4中的更改似乎不會導致任何問題,但現在雖然此功能允許flymake爲遠程文件運行遠程pyflakes(錯誤如預期突出顯示),但在此情況下每當flymake運行時,緩衝區都會被修改。
我想start-file-process
,對於遠程進程,導致一些額外的返回值/數據不會發生在本地進程。
有沒有人有任何見解/建議?
- Emacs的23.1和23.2在Ubuntu
- 的Python 2.4.6
- Pyflakes 0.4.0(通過easy_install的)
請注意:在2014年,您可以使用elpa(我有0.4.16版本)安裝的標準flymake包含flymake-run-in-place變量 - 簡單地將其自定義爲零,flymake會將文件存儲在$ TMP中 – gromgull 2014-03-23 07:26:33