如何在emacs init文件中获取正在打开的文件的长度?

时间:2014-07-08 18:55:35

标签: emacs emacs24

基本上,我有which-function-mode在大文件上崩溃。如果文件少于1,000行,是否可以设置它?

1 个答案:

答案 0 :(得分:1)

编辑:我刚注意到我忘记了你想要的东西已经由哪个功能模式提供。只需自定义which-func-maxout

您可以尝试以下内容:

(add-hook 'find-file-hook
          (lambda ()
            (if (> (buffer-size) 100000) ;; More than 100K characters.
                (set (make-local-variable 'which-func-mode) nil))))

which-function-mode是一种全局次要模式,但每个缓冲区都可以通过设置which-func-mode来单独启用/禁用它。遗憾的是,我认为上述情况会失败,因为哪个功能模式不希望其他代码设置为which-func-mode,因此其自己的find-file-hook将覆盖您的设置。

这就是说,1000行并不大,所以没有理由在这些文件中哪个功能模式失败:你可能想要M-x report-emacs-bug