emacs 的erlang-flymake

emacs 设置erlang-flymake

erlang-flymake 是emacs自带的。可以看erlang-flymake.el里面的文件说明
核心在于:1)用erlc 来检查 2)用complie_file/2来脚本化定制

里面关键在于3个变量
;; * erlang-flymake-get-code-path-dirs-function ;;检查目标文件
;; * erlang-flymake-get-include-dirs-function ;;目标工程所在的include目录
;; * erlang-flymake-extra-opts ;;编译的erlc 或compile_file/2 里面-I选项

因为对lisp不是很熟悉:每次都报找不到头文件。
所以我把erlang-flymake-get-include-dirs-function 写死为我的项目头文件中

(inc-dir-opts
(erlang-flymake-flatten
(mapcar (lambda (dir) (list "-I" dir))
(list "f:/project/include" "f:/project/include/error"))))

这样就可以了。
也可以这样:
http://stackoverflow.com/questions/13927247/erlang-flymake-with-nested-folders-in-src-cannot-find-includes-folder


.emacs里面的设置
(require 'erlang-flymake)
;;仅在存盘时进行检查
(erlang-flymake-only-on-save)
;;键盘映射
(defvar flymake-mode-map (make-sparse-keymap))
(define-key flymake-mode-map (kbd "<f3>") 'flymake-goto-next-error)
(define-key flymake-mode-map (kbd "C-c <f3>") 'flymake-goto-prev-error)
(define-key flymake-mode-map (kbd "<f4>") 'flymake-display-err-menu-for-current-line)
(or (assoc 'flymake-mode minor-mode-map-alist)
(setq minor-mode-map-alist
(cons (cons 'flymake-mode flymake-mode-map)
minor-mode-map-alist)))


以后就可以改掉:一直按保存的坏习惯啦。。。。

[img]http://dl2.iteye.com/upload/attachment/0088/1865/dba95a9c-0f7e-3ec0-ab3a-9d69fef471e6.jpg[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值