2009-03-09 32 views
30

Genellikle bir dosya arabelleğinin değiştirildiği görülür (duh!). Çıkmadan önce, emacs değişikliklerin kaydedilip kaydedilmeyeceğini sorar. Şimdi neyin değiştiğini bilmek ilginç olurdu. Öğrenmenin bir yolu var mı?Arabellek değişikliklerini vurgula

+1

Bkz. Http://stackoverflow.com/questions/331569/diff-save-or-kill-when-killing-buffers-in-emacs –

cevap

1

Bu durumda, son değişikliği (genellikle erken ve sık olarak kaydeddiğim için yanlış pencerede yazılan bazı bozuk karakterler) görmek için geri aldım. Mevcut değişikliklerin başka bir belirtisi olsaydı güzel olurdu, örn. sınırda Eclipse metin editörlerinde hızlı fark gibi.

+0

Ve eğer geri alma önemli bir değişikliği geri almak için olursa, biraz karakter ve çalıştırma iki kez geri alınır - Emacs'ın, çoğu editörden daha güçlü olan geri alma özelliği sayesinde. –

17

Dosyayla farklı arabellek kullanıyorum ve arabelleğin geldiği dosyayı seçin (bu komut için varsayılan değerdir ... sadece enter tuşuna bas).

Ayrıca, vurgu değişiklik modunu da kullanabilirsiniz, ancak bu, siz açılıncaya kadar değişiklikleri izleyemez, bu nedenle, içinde bulunmayan bir dosyayı kapatırken nelerin değiştiğini görmek istiyorsanız çok yararlı olmaz. Emacs 22.1 itibariyle

29

:-) bu mod (en azından), 'save-buffers-kill-emacs (Cx Cc için bağlayıcı varsayılan) bir dosya olan her kaydedilmemiş tampon ister. Değişikliği kaydetmek ve görmek istendiğinde bir d yazın. yardım belgelerine itibaren

:

Save file /path/to/file.txt? (y, n, !, ., q, C-r, d, or C-h) 

Ch size biraz daha ayrıntılı bir açıklama verir Yazma (ancak : Eğer istemi bakarsak

Save some modified file-visiting buffers. Asks user about each one. 
You can answer `y' to save, `n' not to save, `C-r' to look at the 
buffer in question with `view-buffer' before deciding or `d' to 
view the differences using `diff-buffer-with-file'. 

, söylemek gereken bir şey gibi d sormak istediğiniz şey):

Type SPC or `y' to save the current buffer; 
DEL or `n' to skip the current buffer; 
RET or `q' to give up on the save (skip all remaining buffers); 
C-g to quit (cancel the whole command); 
! to save all remaining buffers; 
C-r to view this buffer; 
d to view changes in this buffer; 
or . (period) to save the current buffer and exit. 
8

highlight-changes-mode etkin olabilir. Tüm değişiklikleri kırmızı olarak gösterecektir. Ancak, size boşluk değişimlerini göstermeyecek ve yalnızca kırmızı bir _ ile kaldırma işlemini işaretleyecektir. Ayrıca bkz. http://www.emacswiki.org/emacs/TrackChanges.

+0

Bu harika, teşekkürler. – CodyChan

+0

http://stackoverflow.com/a/21084181/1528712 Bu, sol kenarda değişiklik işareti gösterecektir. – CodyChan

0

Böyle şeyler için goto-chg kullanıyorum. Mükemmel değil ama yaptığım ve derhal unuttuğum şey hakkında hafızamı yazmak için her zaman yeterlidir.

2

Bu post about tracking changes'u, djcb tarafından Emacs'deki izleme değişiklikleriyle ilgili en faydalı buldum. Hüner .emacs için aşağıdaki eklemektir: Eğer nelerin değiştiğini görmek istediğinizde

;; higlight changes in documents 
(global-highlight-changes-mode t) 
(setq highlight-changes-visibility-initial-state nil); initially hide 

ve ardından vurgulamak-değişimler-görünür-mode geçiş.