Soru Emacs'te arabellekler arasında nasıl daha kolay geçiş yapabilirim?


Kısa bir süre önce emacs kullanmaya başladım ve çoğunlukla bunu kullanmaktan zevk alıyorum. Tek zevk almadığım şey tamponlar arasında değişiyor. Sık sık birkaç arabellek açtım ve kullanmaktan yoruldum C-x b ve C-x C-bTamponlar arasında geçiş yapmayı kolaylaştıran herhangi bir paket var mı? İçine baktım tamponları değiştirme konusunda emacs wiki ve neyi kullandığını / keyif aldığına dair içgörü / geri bildirimi takdir ediyorum. Teşekkürler.


32
2017-09-12 21:29


Menşei


does stackoverflow.com/questions/6813734/buffer-switching-in-emacs/... Bunu örtmek mi? - Michael Markert
Neredeyse hiç tamponlama için kullanmam ^ xb. // Sık sık arabellek menüsünü kullanırım (^ bm'ye bağladım - kendiminkinden çok, standart olmayan anahtar sözcüklerim var). // Ayrıca, belirli arabellek tiplerine geçiş yapan komutlarım var. ^ ss kabuk arabelleklerine geçmek için, * shell * <foo> gibi bir tampon adının foo bölümünde tamamlanmış bir okuma kullanarak. - Krazy Glew


Cevaplar:


GÜNCELLEŞTİRME: iswitchb-mode Emacs> = 24.4'te kullanımdan kaldırılmıştır. ido.

Tüm özellikleri iswitchdb şimdi tarafından sağlanmaktadır ido. Ross bir bağlantı sağladı Dökümantasyon onun cevabında. Aşağıdakileri ile aktif hale getirebilirsiniz. .emacs (ya da Ross'un önerdiği gibi kişiselleştirme arayüzünü kullanın):

(require 'ido)
(ido-mode 'buffers) ;; only use this line to turn off ido for file names!
(setq ido-ignore-buffers '("^ " "*Completions*" "*Shell Command Output*"
               "*Messages*" "Async Shell Command"))

Varsayılan olarak, ido Tampon isimleri ve dosya isimleri için tamamlamalar sağlar. Eğer sadece özelliklerini değiştirmek istiyorsanız iswitchb, ikinci satır dosya isimleri için bu özelliği kapatır. ido listelenen regexps ile eşleşen tüm arabellekleri yok sayar ido-ignore-buffers.

İçin aşağıda açıklanan davranış iswitchb-mode eşit olarak uygulanır ido tamponları değiştirmek için.

iswitchb modu (Emacs <24.4)

iswitchb-mode varsayılanın yerini alır C-x b Çok sezgisel bir tampon-anahtarlama-tamamlama sistemi ile davranış. Daha sofistike seçenekler var, ama bundan daha fazlasına ihtiyacım olmadı.

Vurulduktan sonra C-x b, tüm tamponların bir listesi ile sunulmaktadır. İstediğiniz arabellek adını (veya adının bir kısmını) yazmaya başlayın ve yalnızca bir arabellek eşleşene kadar liste daraltılır. İsmi tamamlamanız gerekmez, ancak istediğiniz arabellek vurulduğunda vurgulanır. Ayrıca kullanabilirsiniz C-s ve C-r sırayla listede ilerlemek için.

Bunu, .emacs'inizde varsayılan olarak açabilirsiniz:

(iswitchb-mode 1)

Ayrıca, hiçbir zaman (veya çok nadiren) geçiş yapmanız gereken belirli arabellekleri yok saymasını da söyleyebilirsiniz:

(setq iswitchb-buffer-ignore '("^ " "*Completions*" "*Shell Command Output*"
               "*Messages*" "Async Shell Command"))

24
2017-09-12 21:46



Ben şahsen kullanıyorum ido-mode Bence çok benzer. - nominolo


Kullanabilirsiniz C-x <right> (next-buffer) ve C-x <left> (previous-buffer) tampon halkasında dolaşmak için. Bağlayabilirsin S-<right> ve S-<left> bu işlevlere. (S "süper anahtar" veya pencere anahtarıdır). Bu şekilde bazı tuş vuruşlarını kaydedebilirsiniz.

Ayrıca, unutmayın ki C-x b varsayılan bir girişe sahiptir, yani standart bir değer görüntüler (daha önce görüntülenen tamponun çoğu zaman), böylece her zaman arabellek adını açıkça girmeniz gerekmez.

Başka bir iyi hile kullanarak ayrı pencereleri açmaktır C-x 2 ve C-x 3. Bu, aynı anda birkaç arabellek görüntüler. Sonra bağlayabilirsiniz C-<tab> için other-window sekmeli göz atma işlemine benzer bir şey elde edin.


14
2017-09-12 21:41





M-x customize-group ido sonra ayarlandı Ido Mode için Turn on both buffer and file ve set Ido Everywhere için on. Ardından Save for future sessions üst kısımdaki düğmeyi tıklayın ve hem dosyalar hem de tamponlar için ido sihrinin tadını çıkarın. okumak dokümanlar ido'nun nasıl kullanılacağına dair bir fikir edinmek için.

Ayrıca, bir göz atın smex.


8
2017-09-12 22:25



Teşekkürler, bu yardımcı oldu. Ido'nun dokümanı dosya sistemi ağacından dosyaları tamamlama listesine eklemekle ilgili biraz kayboldum. Bunu nasıl kuracağınızla ilgili ipuçlarınız var mı? - danza
@danza Ne demek istediğinden emin değilim. Yukarıdaki seçenekler sayesinde, dosya bulmak için tamamlama listeleri C-x C-f otomatik olarak doldurulur. - Ross Patterson
Sorum, mantıklı değildi çünkü Ido tarafından sağlanan özellikleri yanlış anladım. Dosyaların keyfi derinliklerde bulmanın bir yolunu bulacağımı düşündüm. Sonunda yerleştim helm-projectile. Neyse, cevabınız gerçekten hızlı kurmamı sağladı. - danza


  1. ido-mode Tamponları değiştirmek için etkili bir yol sağlar.
  2. ibuffer tüm açık tamponları yönetmek için en iyisidir.
  3. anything farklı bir ilgilenen bir şey seçmek için iyidir kaynaklar. (örneğin: tek bir tuş diğerine geçmek için kullanılabilir son zamanlarda kapatılmış dosyayı açmak veya bir dosyayı açmak için aynı dizinde veya ... istediğiniz herhangi bir şey ...)

5
2017-09-14 02:57





Emacs Wiki'ye bakarsanız, muhtemelen bu bilgilere zaten sahip olursunuz, ancak burada birkaç tane daha alakalı Soru-Cevap:

Araç takımım, ibuffer, windmove + framemove, kazanan modundan ve bir özel ciltleme yapmak C-Xayrıldı/sağ ve Cı-Cayrıldı/sağ kullanmak için daha az bir güçlük.


2
2017-09-12 21:47





"§" anahtarını "arabellek listesine" eşledim ve çok verimli buluyorum.


2
2018-04-26 18:23



Microsoft klavyesinde benzer bir şey yapıyorum, 'menu' tuşunu (sağ Alt & Ctrl arasında) ibuffer, muazzam uygun buluyorum. - phils


Birkaç gün boyunca hiçbir şey kullanmaya başladım ve gerçekten çok beğeniyorum:   http://www.emacswiki.org/emacs/Anything  .

Emacs-fu'nun her şeye iyi bir girişi vardır:   http://emacs-fu.blogspot.com/2011/09/finding-just-about-anything.html


1
2017-09-13 19:26