当我在emacs中打开一个大文件时,收到一条消息,提示'foo.bar文件很大;真的开放吗?
如何阻止emacs一直问我这个问题?换句话说,如果我打开文件,则无论文件有多大,我都希望打开它。
当我在emacs中打开一个大文件时,收到一条消息,提示'foo.bar文件很大;真的开放吗?
如何阻止emacs一直问我这个问题?换句话说,如果我打开文件,则无论文件有多大,我都希望打开它。
Answers:
在手册(您可以在Info:中的Emacs内部浏览C-h i m Emacs RET
)中:转到有关文件的章节,然后转到有关访问(即打开)文件的部分。查找“大”一词:
如果您尝试访问的文件大于
large-file-warning-threshold
(默认值为10000000,大约10兆字节),Emacs将首先要求您确认。您可以回答y以继续访问文件。
这还不是全部,您可以通过large-file-warning-threshold
(C-h v large-file-warning-threshold RET
)的文档找到更多信息。
大文件警告阈值是在中定义的变量
files.el
。
它的值是10000000要求确认的最大文件大小。
如果为零,则永远不要请求确认。
要设置值,您可以使用Customize界面(变量帮助屏幕上有一个链接),也可以在您的代码中输入以下语句.emacs
:
(setq large-file-warning-threshold nil)
类型 C-M-x
该点在该行上时立即执行。
在“文件”下的“查找文件”下,有一个设置“大文件警告阈值”。您可以将其设置为较大的值,尽管在32位计算机上,您可能会遇到Emacs相对较小的整数大小硬限制。
查看打开文件的功能:(C-h k C-x C-f
或C-h f find-file RET
)。单击files.el
以浏览源文件(您必须安装Lisp源)。不要阅读代码(它很大),而是在该文件中搜索消息的一部分。你会找到
(defun abort-if-file-too-large (size op-type filename)
"If file SIZE larger than `large-file-warning-threshold', allow user to abort.
OP-TYPE specifies the file operation being performed (for message to user)."
(when (and large-file-warning-threshold size
(> size large-file-warning-threshold)
(not (y-or-n-p
(format "File %s is large (%dMB), really %s? "
(file-name-nondirectory filename)
(/ size 1048576) op-type))))
(error "Aborted")))
仅在满足某些条件时显示此消息。第一个条件是large-file-warning-threshold
(解释为布尔值),即large-file-warning-threshold
必须为非零。因此,您可以通过将该变量设置为来禁用该消息nil
。(您可以通过查看同一文件中的定义来确认它是一个全局变量,它是可自定义的项目,并且文档说明了如果您对Lisp不够熟悉并且只是弄清楚该变量在某些情况下很重要,那么如何使用它。办法。)