Emacs büyük bir dosya açtığınızda, 'foo.bar dosya büyük; gerçekten açık mı? '
Emacs'ın bana bu soruyu her zaman sormasını nasıl önleyebilirim? Başka bir deyişle, dosyayı açarsam, ne kadar büyük olursa olsun dosyayı açmak istiyorum.
Emacs büyük bir dosya açtığınızda, 'foo.bar dosya büyük; gerçekten açık mı? '
Emacs'ın bana bu soruyu her zaman sormasını nasıl önleyebilirim? Başka bir deyişle, dosyayı açarsam, ne kadar büyük olursa olsun dosyayı açmak istiyorum.
Yanıtlar:
In manuel (eğer Bilgiler Emacs içinde göz atabilirsiniz hangi: C-h i m Emacs RET
): bölümüne gidin dosyalara ilgili bölüme, sonra ziyaret (yani açılış) dosyalarını. “Büyük” kelimesini arayın:
'
large-file-warning-threshold
Den daha büyük bir dosyayı ziyaret etmeye çalışırsanız (varsayılan değer 10.000 MB olan 10000000'dir), önce Emacs sizden onay ister. Dosyayı ziyaret etmeye devam etmek için y yanıtını verebilirsiniz.
Bu hikayenin tamamı değil, large-file-warning-threshold
( C-h v large-file-warning-threshold RET
) belgelerine bakarak daha fazla bilgi bulabilirsiniz .
büyük dosya-uyarı eşiği, içinde tanımlanan bir değişkendir
files.el
.
Değeri 10000000Üstünde bir onay istenen maksimum dosya boyutu.
Sıfır olduğunda asla onay istemeyin.
Değerini ayarlamak için, ya (değişken için yardım ekranında bir bağlantı var) özelleştirme arabirimini kullanın veya aşağıdaki ifadeyi koyabilirsiniz .emacs
:
(setq large-file-warning-threshold nil)
Tip C-M-x
nokta şimdi bunu gerçekleştirmenin o satırda iken.
“Dosyalar” altında, “Dosyaları Bul” altında, “Büyük Dosya Uyarı Eşiği” ayarı vardır. Büyük bir değere ayarlayabilirsiniz, ancak 32 bitlik bir makinede Emacs'ın tamsayı boyutlarında nispeten küçük sabit sınırına girebilirsiniz.
Dosyaları açma fonksiyonuna bakın: C-h k C-x C-f
(veya C-h f find-file RET
). files.el
Kaynak dosyaya göz atmak için tıklayın (Lisp kaynaklarının kurulu olması gerekir). Kodu okumayın - oldukça büyük - ancak bu dosyadaki mesajın parçalarını arayın. Bulacaksın
(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")))
Mesaj yalnızca bazı koşullar karşılandığında görüntülenir. İlk koşul large-file-warning-threshold
(bir boole olarak yorumlanır), yani large-file-warning-threshold
sıfır olmamalıdır. Böylece, bu değişkeni olarak ayarlayarak mesajı devre dışı bırakabilirsiniz nil
. (Aynı dosyadaki tanımına bakarak bunun global bir değişken olduğunu onaylayabilirsiniz - özelleştirilebilir bir öğedir ve belgeler, Lisp'e yeterince aşina değilseniz ve yalnızca değişkenin bazılarında önemli olduğunu anladığında nasıl kullanıldığını açıklar. yol.)