emacsが大きなファイルをロードするかどうかを尋ねるのを止めるにはどうすればよいですか?


18

emacsで大きなファイルを開くと、「foo.barファイルが大きいというメッセージが表示されます。本当に開いている?」

emacsが常にこの質問をするのを止めるにはどうすればいいですか?言い換えれば、ファイルを開いたら、どんなに大きくてもファイルを開きたいのです。


答えはここにあります:superuser.com/questions/508498/… (setq large-file-warning-threshold nil)
Rペリン14年

以下のGillesの回答はより完全で、次の問題を解決する方法を教えてくれます。
-jrouquie

回答:


29

マニュアル経由

では、マニュアル(InfoでEmacsの内部で閲覧することができた:C-h i m Emacs RET):上の章に進んファイル上のセクションに、その後、訪問(すなわち開口部)のファイルを。「大」という単語を探します。

large-file-warning-threshold(デフォルトは約10メガバイトである)10000000 より大きいファイルにアクセスしようとすると、Emacsは最初に確認を求めます。yと答えて、ファイルへのアクセスを続行できます。

これはすべてではありません。詳細については、large-file-warning-thresholdC-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-thresholdnil以外でなければなりません。そのため、変数をに設定することでメッセージを無効にできますnil。(同じファイル内の定義を見ればグローバル変数であることを確認できます。カスタマイズ可能なアイテムです。また、ドキュメントでは、Lispに十分に精通しておらず、変数が重要であることがわかった場合の使用方法について説明しています仕方。)


あなたが提供した詳細と参考文献に感銘を受けました。どうもありがとう、Gilles。
トーラOdejayi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.