2013-07-04 4 views
6

P kullanarak dired-mode'dan yazdırmak istiyorum. Bu, lpr-switches aracılığıyla ayarladığım varsayılan yazdırma komutu için iyi çalışıyor, ancak genellikle bu komutu düzenlemek istiyorum. Örneğin, Plpr önerdiğinde, -o number-up=2 eklemek istiyorum. Sorun, bu, -o'dan sonra bir boşluk içeriyor ve boşluk çubuğuna basmak bana No match veriyor. lpr (veya aynı soruna bakan diğer komutlar) nasıl ayarlanır?Bir kelimeyi tamamlamak yerine minibuffer'da boşluk nasıl girilir?

+0

O başlığını değiştirmek yararlı olabilir Sorunuz, benzer bir sorunu olan kişileri bulmayı kolaylaştırmak için. Belki de bir şey gibi: "bir kelime tamamlamak yerine minibuffer bir boşluk girin" – Tyler

+0

Bitti. Sağol Tyler. –

cevap

6

Mini tamponda, space bir tamamlama komutuna bağlıdır. Gerçek bir '' girmek istiyorsanız, alıntı yapmanız gerekir: C-q <space>. Bu benim için çok şey ifade ediyor, ben de M-<space>'u minibuffer'da bir tam boşluk girmek için bağladım:

DÜZENLEME: phils yorumunu izleyerek, aşağıdaki kod snippet'i gerçekten anlamsızdır. Herhangi bir tuş bağlama olmadan M-space ile istenen davranışı alabilirsiniz.

(define-key minibuffer-local-completion-map "\M- " 
    (lambda() (interactive) (insert " "))) 
+0

Mükemmel, Tyler, çok teşekkürler. –

+1

Bu günlerde (en azından) M-SPC, metni yeniden biçimlendirirken çok kullanışlıdır, aynı zamanda bu yanıtı * kodu kullanmadan * kullanabileceğiniz anlamına gelir. – phils

+0

@phils Bunu bir araya getirdiğimde bunu kaçırdığımı sanmıyorum. Tamamlama beni bibtex modunda çıldırtıyordu ve minibuffer'da kullanışlı olmadığından 'M-space' kullanarak gerçekten zekice olduğumu düşündüm. Bunun dışında! D'oh. – Tyler

2

Ayrıca minibuffer keymaps her self-insert-command için SPC bağlayabilir. O zaman C-q'u kullanmanıza gerek yoktur.

(tamamlamak için minibuffer SPC için 21. yüzyılda hiçbir sebep yoktur. Emacs nihayet dosya adı tamamlanması için bu vestige kurtuldum ama henüz wrt tamamlanma diğer türlü akıllandım değil. yok yazdırılabilir karakter tamamlar bir komuta bağlı olmalıdır --- gerektiği C-q arkaik olduğunu kullanmadan. bir ? veya SPC eklemek edememek bütün öz insert.)

+0

Merhaba Drew, "minibuffer anahtar kelimelerinin her biri" ile ne demek istediğini biraz daha anlatabilir misin, lütfen? –

+0

Bunlar, minibuffer tamamlama keymap'leridir (niteleyicinin "tamamlanmasi" nı eklemeliydim, çünkü bunu sadece tamamlama keymap'leri için istiyorum): 'minibuffer-local-completion-map',' minibuffer-local-must-match-map', ' minibuffer-yerel-dosya-tamamlama-map', 'minibuffer-yerel-dosya-eşleşmesi-eşleşmesi-map'. Son Emacs sürümleri için muhtemelen son ikisini değiştirmeyi unutabilirsiniz. – Drew

+0

Merhaba Drew, açıklamanıza bağlı olarak yapabileceğim en iyi şey '' (tanımlamalı minibuffer-yerel-tamamlama-haritası (kbd "") 'kendinden-ekleme-komutu) 've diğer işlevler için karşılık gelir. Ama ben hala "Eşleşme" aldım :-( –