2013-02-13 14 views
8

dosyaları görmezden almak için nasıl .emacs dosyasında aşağıdaki koydu. Son satırda sözdizimi yanlış mı anladım?dired belirli uzantılara

Bonus soru: .git klasörleri gibi gizli dizinleri gizlemek için Dired'i almanın bir yolu var mı?

cevap

12

Regexp'iniz, *.tex olanlar değil *-t.tex dosyaları eşleşecektir.

(require 'dired-x) 
(setq-default dired-omit-files-p t) ; this is buffer-local variable 
(setq dired-omit-files 
    (concat dired-omit-files "\\|^\\..+$\\|\\.pdf$\\|\\.tex$")) 

Güncelleme: varsayılan olarak, dired-omit-files regexp'in filtreler Emacs son sürümü ile

, istediğini filtrelemek için ~/.emacs için aşağıdaki bölüm eklemek için yeterli olmalıdır özel dizinler . ve ... Bir nokta İkinci karakter ile başlayan 2+

(setq dired-omit-files "^\\.[^.]\\|\\.pdf$\\|\\.tex$") 

regexp'in ^\\.[^.] uzunlukta herhangi bir dize maç olacak: Eğer bu davranışı istemiyorsanız, sadece (yerine concat ile devralmak) varsayılan değerleri geçersiz kılabilirsiniz nokta kendisi dışında herhangi bir karakterdir. Mükemmel değil (gibi dosya isimleriyle eşleşmeyecek) .foo "), ama çoğu zaman iyi olmalısınız.

+0

Teşekkürler! Yukarıdaki, '^' tuşuna basmaya gerek kalmadan dizinde gezinmemi sağlayan Dired arabamın üst kısmındaki '' 'de kaldırılmış gibi görünüyor. '' 'Navigasyonunu geri yüklemek için bir yol var, ama yine de' .git' gibi klasörleri saklıyor musun? – incandescentman

15

herhangi bir ekstra dayanmaz basit ve oldukça genel bir çözüm (C-u s da canlandırıcı ilgilenir, bu nedenle ilgili çok az yazarak vardır, yani) ls bayrakları değiştirip hemen yenilemek için C-u s yapmaktır. Genellikle dotfiles dosyasını gizlemek için -a'u kaldırmak isteyeceksiniz. Ancak, kabuğun konsolunda zaten yapabileceğiniz her şeyi yapabilirsiniz, bu da basit bir geçiş modunun sunabileceğinden çok daha fazladır (bazı ekstra tuşa basma maliyetleriyle). Ve eski bayrakların bir geçmişi var, bu yüzden "geçiş" de oldukça hızlı.

İlgili konular