2013-11-14 19 views
6

benim .emacs bu var: Ben anahtarından bu nefret tampon hariç nasılanahtarı-tampon listeden "nefret tampon" dışla

(defvar crs-hated-buffers 
    '("KILL" "*Compile-Log*" "*Buffer List*" "*Messages*" "*Occur*" 
    "*Completions*" "*compilation*" "TAGS" "*scratch*" "*grep*" 
    "source" "headers")) 
(setq iswitchb-buffer-ignore (append '(
    "^ " 
    "^\\*Buffer" 
    "^\\*Completions\\*" 
    "^\\*tramp" 
    "^\\*Dired log\\*" 
    "^\\*Quail Completions\\*" 
    "^\\*Disabled Command\\*" 
    "^TAGS" 
    ) 
    crs-hated-buffers)) 

:

(global-set-key "\M-s" 'switch-to-buffer) 

Ve ayrıca -araba listesi?

cevap

5

Belki bir şey gibi:

(global-set-key [?\M-s] 'my-switch-to-buffer) 

(defun my-switch-to-buffer() 
    (interactive) 
    (let ((completion-regexp-list '("\\`[^*]" 
            "\\`\\([^T]\\|T\\($\\|[^A]\\|A\\($\\|[^G]\\|G\\($\\|[^S]\\|S.\\)\\)\\)\\).*"))) 
    (call-interactively 'switch-to-buffer))) 

Muhtemelen M-x report-emacs-bug üzerinden bir özellik isteği hak ediyor.

Sen fonksiyonlar 'kullanıcı tampon geçiş' ErgoEmacs' için bir göz olabilir
+0

Teşekkürler stefan, Bu hatayı aldım: Yanlış tip argümanı: komutum, arabamı arabellek arabamı – SFbay007

+0

(def ... – scottfrazer

+0

Ancak (etkileşimli) ekledim: arabelleğe geçiş: (varsayılan ... vb) ..... seçtiğim açık tamponların listesi yok.Davranışın artık tamamen farklı olduğunu söylüyorum: (global-set-key "\ Ms" "geçişten arabelleğe geçirme) – SFbay007

1

: Bütün iç tampon kullanmakta alıştıysanız, hangi bir sorun olabilir (olanları * ile başlayan) dışlar http://www.ergoemacs.org/emacs/elisp_next_prev_user_buffer.html

magit, kabuğu veya hatta grep arabellekleri.

«Emac'ler genellikle kullanıcıların bisikletle ilgilenmediği çok fazla dahili arabellek üretir. ⁖ {, Mesajlar, kabuk, Shell Komutanlığı Çıktı, Meydana, Tamamlama, Apropos'ta, bilgi çizik, ...}. Emacs arabelleklerini atlayan kendi sonraki kullanıcı arabelleğinizi tanımlayabilirsiniz ve emacs arabellekleri aracılığıyla döngüleri bir sonraki emacs tamponunu tanımlayabilirsiniz. »

Kendimi arabellek değiştirmek için kullandığımdan beri bu tür bir filtreye ihtiyacım olmadığını buluyorum.

+0

Veya [Helm] (https://github.com/emacs-helm/helm) 'dümen-buffers-list' de fantastik. İşte [bir ekran görüntüsü] (http://i.imgur.com/KBmpXCJ.png?1). –

0

Sen geçiş tampon ile zorlukları tedavi etmek, farklı yolda aşağı gidiyor düşünmelisiniz: Öncelikle

Zaten kullanmıyorsanız, ido-mode kullanmayı düşünün. Dosyaları açmayı, arabellek değiştirmeyi ve daha pek çok şeyi kolaylaştırır. Aşağıdaki seçenekler ayarlamak Özellikle şununla:

(custom-set-variables 
    '(ido-enable-flex-matching t) 
    '(ido-everywhere t) 
    '(ido-mode t)) 

İkincisi, özellikle tampon geçiş için, senin init.el bu ayarı öneriyoruz:

(define-key global-map "\C-x\C-b" 'bs-show) 

Size sizi tamponları ne çok daha büyük bir genel bakış sağlar Onlarla birlikte ne yapmak istersen, onları kapatmak ya da onlara geçmek gibi, hepsi de düzgün bir pop-up.