这是我在.emacs文件中的flymake设置:
(when (load "flymake" t)
(defun flymake-pyflakes-init ()
(let* ((temp-file (flymake-init-create-temp-buffer-copy
'flymake-create-temp-inplace))
(local-file (file-relative-name
temp-file
(file-name-directory buffer-file-name))))
(list "pyflakes" (list local-file))))
(add-to-list 'flymake-allowed-file-name-masks
'("\\.py\\'" flymake-pyflakes-init)))
(add-hook 'find-file-hook 'flymake-find-file-hook)
(load-library "flymake-cursor")
Run Code Online (Sandbox Code Playgroud)
我想只为.py文件使用flymake.并为其余部分禁用它.但它始终启用.例如,当我打开一个html文件时,我总是得到以下错误错误(flymake):Flymake:无法使用args启动语法检查过程'xml'(val /home/huseyin/vipsatis/templates/cancellation/base_flymake.html):搜索对于程序:没有这样的文件或目录,xml.Flymake将关闭
所以我想把它关闭除了py文件以外的任何东西.可能吗?
(对于有相同问题的人,我想解释一下错误信息:Flymake使用xmlstarlet进行xml和html验证.它试图将其称为"xml val ......"但它必须将其称为"xmlstarlet val ...."要解决这个问题,你必须找到flymake.el文件并用xmlstarlet更改xml调用.)
使用flymake-mode时总是会出错.并且flymake模式关闭.

所以我想检查是否启用了flymake-mode.如果没有打开,我会在调用flymake-next-error之前将其打开.
谢谢.
我正在尝试使用flymake运行pyflakes,如此处所示
这适用于本地文件,并且几乎可以通过稍微调整来处理远程文件,但是我遇到了一个问题,即flymake/pyflakes'在运行时修改了缓冲区(尽管实际上似乎没有任何变化),这会呈现它在实践中有点无用(例如,保存文件运行flymake,它会立即再次修改缓冲区).
这就是我几乎让它工作的方法:
tramp-remote-process-environment变量,以便可以在其PATH中找到pyflakes(when (load "flymake" t) ...)构造似乎没有像我预期的那样工作,但我并不太担心.flymake-start-syntax-check-process函数,以便它使用start-file-process(与tramp一起使用)而不是start-process(没有).处理本地文件时#4中的更改似乎不会导致任何问题,但现在这使得flymake能够为远程文件运行远程pyflakes(错误会按预期突出显示),在这种情况下缓冲区被"修改"每当flymake运行时.
我猜测start-file-process,对于远程进程,会导致本地进程不会发生一些额外的返回值/数据.
有没有人有任何见解/建议?
我有以下几行 ~/.emacs.d/init.el
(custom-set-variables
'(flymake-allowed-file-name-masks
(quote
(
("\\.cc\\'" flymake-simple-make-init)
("\\.cpp\\'" flymake-simple-make-init)))))
(add-hook 'find-file-hook 'flymake-find-file-hook)
Run Code Online (Sandbox Code Playgroud)
当我在同一个文件夹中打开一个具有正确Makefile的C++文件时,我会得到即时编译和错误报告(Flymake将检查语法并在代码编辑期间报告错误和警告).
Makefile有一个check-syntax目标:
.PHONY: check-syntax
check-syntax:
$(CXX) -Wall -Wextra -pedantic -fsyntax-only $(CHK_SOURCES)
Run Code Online (Sandbox Code Playgroud)
问题是,当我打开一个没有相应Makefile的.cc文件时,我得到一个恼人的对话框,警告我关于flymake被禁用.
因此,如果我emacs *.cc在一个包含20个C++文件的文件夹中启动,我会得到20个模态对话框,其中显示的内容类似于[...]找不到构建文件.Flymake将被关闭.
我可以使用一些钩子来禁用该警告吗?你能提供样本elisp代码和解释你如何找到合适的钩子吗?
我一直在努力让Flymake在emacs中使用Haskell模式.我已经让它在过去工作了,我不得不说Flymake和Haskell的类型系统的组合是非常协同的.现在看来我无法获得错误/警告突出显示并且一切正常.我试过ghc-mod,我也跟着一些wiki.请帮助,奖金,如果你可以使用cabal-dev.
GHC-7.4和GHC 7.0.Emacs 23.4.
是否有可能让flymake-mode知道racket文件中的语法(或其他)错误,例如erlang或python?如果重要的话,我正在使用geiser-mode进行球拍.
当我关闭相关缓冲区时,有没有办法告诉emacs总是杀死flymake进程?当与缓冲区关联的唯一进程是flymake进程时,我不想得到确认?
这是我flake8在验证期间的输出:
Traceback (most recent call last):
File "/usr/local/bin/flake8", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/flake8/main.py", line 25, in main
flake8_style = get_style_guide(parse_argv=True, config_file=DEFAULT_CONFIG)
File "/usr/local/lib/python2.7/dist-packages/flake8/engine.py", line 244, in get_style_guide
options.exclude.extend(pep8.normalize_paths(EXTRA_EXCLUDE))
AttributeError: 'module' object has no attribute 'normalize_paths'
Run Code Online (Sandbox Code Playgroud)
为什么我不能使用它?
我在C#flymake模块中的emacs elisp中获得了CPU旋转.(Flymake是emacs中定期运行构建的模块,然后突出显示当前缓冲区中的任何语法错误或警告.)
我即将涉足代码,寻找可能发生旋转的可能位置.
虽然我在这里,有没有人有解决旋转的建议?emacs中有什么东西可以让我停止执行并看到它停在哪里?
我使用emacs作为python IDE.我安装了flymake,但是每当我使用.py文件时它都会显示以下错误
错误(flymake):Flymake:无法使用args启动语法检查过程'pycheckers'(string-operations_flymake.py):搜索程序:没有这样的文件或目录,pycheckers.Flymake将关闭
我对flymake的.emacs配置如下:
;; flymake
(add-to-list 'load-path "~/.emacs.d/vendor")
(add-hook 'find-file-hook 'flymake-find-file-hook)
(when (load "flymake" t)
(defun flymake-pyflakes-init ()
(let* ((temp-file (flymake-init-create-temp-buffer-copy
'flymake-create-temp-inplace))
(local-file (file-relative-name
temp-file
(file-name-directory buffer-file-name))))
(list "pycheckers" (list local-file))))
(add-to-list 'flymake-allowed-file-name-masks
'("\\.py\\'" flymake-pyflakes-init)))
(load "~/.emacs.d/vendor/flymake-cursor.el")
(global-set-key [f10] 'flymake-goto-prev-error)
(global-set-key [f11] 'flymake-goto-next-error)
Run Code Online (Sandbox Code Playgroud)
有关如何解决此问题的任何建议