我试图用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