2010-01-03 17 views
14

Örneğin, bir dosyayı C-x-C-f ile açtığınızda, dosya adlarını SEKME yapabilir ve birden fazla olası tamamlama varsa, olası tamamlamaların bulunduğu bir tamamlama arabelleği açılır. Sorun şu ki, dosyayı açtıktan sonra, pencere arabelleğe geri döndü, ancak kapanmıyor. Dosya açıldıktan sonra bu arabellekleri otomatik olarak kapatmamın bir yolu var mı?Emacs'de dosya adı tamamlama arabelleklerini otomatik olarak kapatmak için bir yol var mı?

+2

23.x Eğer tamamen "öldürmek" yapmak istediğim anlamına mı * Tamamlama * tampon kullanıldıktan sonra (sadece "gizlemek için" varsayılan davranış yerine)? – luapyad

+0

Pencere yapılandırması, tamamlamaları denemeden önceki haline geri döner (düz bir emacs için Cx Cf'de ('emacs -q'). Daha fazla ayrıntı verebilir misiniz? Cx Cf belki de' find-file'a bağlı değil –

cevap

7

Sorununuzu doğrudan çözmese de, dosyaları açmak için bir mekanizma olarak ido-mode mu düşündünüz?

ido-mode bu etkileşimli Dosyaları bulma çok daha kolay bir yöntem bulmak ve onu etkisiz hale getirecek (minibuffer C-s ve diğer çeşitli şık özellikleri içinden adı çarpışmalar arasındaki seçerek) dosyaları açma izin verir ido-find-file için C-x C-f bağlayacaktır *Completions* arabelleği tamamen.

+0

Teşekkür ederim. Bunu kontrol edeyim – Rayne

+0

Benim için mükemmel – Rayne

+0

Burada açıklananlar ve emacs'ın bir parçası olan diğer birçok kullanım alanı vardır (sürüm 22 bence). Ne yapabilir, muhtemelen daha çok beğeneceksiniz. – kjfletch

13

gerçekten geç bu konuda girmek için üzgünüm ama bu böyle yapılır:

;; Remove completion buffer when done 
(add-hook 'minibuffer-exit-hook 
     '(lambda() 
     (let ((buffer "*Completions*")) 
      (and (get-buffer buffer) 
      (kill-buffer buffer))))) 

GNU Emacs 22.x üzerinde test ve

İlgili konular