Emacsで大きなファイルを開くと、「foo.bar file is large;本当に開いてる?」
Emacsがこの質問を常に出さないようにするにはどうすればよいですか?つまり、ファイルを開いたとしても、ファイルの大きさに関係なく、ファイルを開きたいのです。
manual (Info:C-h i m Emacs RET
でEmacs内を参照できます)の場合: files の章に移動し、次に のセクションに移動します。訪問 (つまりファイルを開く)。 「大」という単語を探します。
large-file-warning-threshold
より大きいファイル(デフォルトは10000000、つまり約10メガバイト)にアクセスしようとすると、Emacsは最初に確認を求めます。 yと答えると、ファイルへのアクセスを続行できます。
これはすべてではありません。large-file-warning-threshold
(C-h v large-file-warning-threshold RET
)のドキュメントで詳細を確認できます。
large-file-warning-thresholdは、
files.el
で定義された変数です。
その値は10000000です確認が要求されるファイルの最大サイズ。
nilの場合、確認を要求しないでください。
値を設定するには、カスタマイズインターフェイスを使用するか(変数のヘルプ画面にリンクがあります)、または.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以外でなければなりません。したがって、その変数をnil
に設定することでメッセージを無効にできます。 (同じファイル内の定義を見て、グローバル変数であることを確認できます。これはカスタマイズ可能なアイテムであり、LISPに精通しておらず、変数が重要であることがわかった場合にのみ、ドキュメントがその使用方法を説明しています仕方。)