2013-08-06 20 views
5

Minibuffer'da sekmeyi tamamladığımda ve Emacs yeni bir tamponda bir tamamlama listesi görüntülediğinde, fareyi kullanmadan bu arabelleğe nasıl geçebilirim? Emacs'te, klavye ile tamamlama listesini nasıl seçerim?

I C-x o çalıştı, ama minibuffer girdiği üzerinden sadece, birinci tampona geçti.

Ben de C-x b çalıştı, ama bu beni command attempted to use minibuffer while in minibuffer veriyor.

Son olarak ben cannot switch buffers in minibuffer window bana veren C-x <C-right> çalıştı.

DÜZENLEME: Benim örnekte minibuffer tamamlanması hakkında konuştu, ancak düzenli bir tampon içinden (klavyeyi kullanarak) tamamlama listesine erişmek mümkün de benim için önemli ve çalışma değildir. M-v kısayol önerildi, ancak yalnızca ben M-vscroll down command bağlıdır ve tamamlama listesine geçiş değil, denedim diğer her tamponu içinde, M-x tarafından erişilen minibuffer içine çalışıyor gibi görünüyor. Diğer minibüslerde çalışmıyorum bile. Örneğin, M-! tarafından çağrılan kabuk komut minibuffer da çalışmıyor.

+0

Düzenlemede yer alan önerimi aşağıda benim yanıtım bölümüne bakın. –

cevap

2

iki kez Cı-x o kullanımı, ya da bir önceki tampon yerine sonrakine geçer o M-Cı-x, kullanabilir.

+0

'C-x o' iki kez çalışmaz, çünkü ilk komut tamamlama listesini kapatır. Tampon değiştirme komutuna olumsuz bir argüman uygulamak, ancak iyi çalışır. Yine de C-- C-x o kullanayım. Ayrıca, imleci ilk tamamlamada değil, arabelleğin başlangıcını değil, o zaman berbat çünkü o zaman aşağı doğru hareket etmek zorundayım. Bu gerçekten insanların nasıl tamamlandığını kullanıyor? – bug

+1

hata: Hayır, çok az insanın aslında tamamlama arabelleği ile doğrudan etkileşime girdiğinden şüpheleniyorum. Normal yaklaşım, sadece görsel bir referans olarak hareket eden tamamlama tamponuyla, benzersiz bir sonuç elde edilene kadar minibuffer'da yazarak ve 'TAB' yazarak seçeneklerin filtrelenmesine devam etmektir. – phils

8

kullanabilirsiniz Mv (here belgelenen) tamamlanması tamponu geçer ve birinci tamamlanması üzerine imleci koyar: minibuffer, tamamlama gösteren pencere seçerken,

mV Typing liste (tamamlamaya geçiş). Bu, aşağıdaki komutları kullanmanın yolunu açar. <PageUp> veya <prior> aynı şeyi yapar. Ayrıca ... başka yollarla pencereyi seçebilirsiniz

DÜZENLEME: neye benzediğini soruyormuşsun daha küresel tampon tamamlamaları geçmek için bir yol olduğunu asıl soruya Düzenlemenizle dayalı . tamamlamaları listesini seçen bir fonksiyonu switch-to-completions var - örneğin, sizin seçtiğiniz bir tuşa bu işlevi bağlama düşünebilirsiniz:

Örneğin
(define-key global-map (kbd "C-x t") 'switch-to-completions) 

, böyle bir bağlanma "Kabuk komutundan tamamlama geçmek için bana izin verir: "M- tarafından çağrıldı!, ve imleci ilk olası tamamlanma üzerine yerleştirir.

+0

Weirly yeterli, bu benim için işe yaramaz. (Emacs v24.2.1 btw'yi kullanıyorum.) Minibuffer'da 'M-v 'tuşlarına bastığımda' buffer başlangıcı 'yazıyor ve tamamlama listesini seçmiyor. – bug

+0

Tek. 'PageUp' tuşuna basmaya ne dersiniz - bu da işe yaramalı (Mac'imde "fn-Up" yazıyor). Başlangıç ​​dosyalarınızı okumadan Emacs'i yeniden başlatmayı deneyebilirsiniz, yani 'emacs -q' –

+0

Başka bir işleve bağlı M-v' olabilir. –

İlgili konular