2011-12-06 14 views
12

UNIX'te programların programa $ PAGER (genellikle less veya bazı benzer komutlar) olarak adlandırdığı ve bazı çıktıları görüntüleyeceği birçok yer vardır. En yaygın kullanımların çoğunun bir Emacs yerine sahip olması kesinlikle doğrudur (örneğin, man örneğinde), ancak sistem genel çağrı cihazım olarak Emacs'i kullanmak için genel bir yol tercih ediyorum. İdeal olarak bu, PAGER'a yapılan çağrıların, * Yardım * 'a benzer bir Emacs geçici tamponu içinde sona ermesi anlamına gelir, "q" düğmesine basarak etrafta gezinebileceğiniz ve işten çıkarabileceğiniz bir salt okunur tampon.

Genellikle Mx kabuğundan bir kabuk çalıştırıyorum, bu yüzden benim tasarladığım kullanım durumum, * kabuk * penceresinde "man foo" gibi bir komut yazmanın, man sayfasını başka bir pencerede, aşağı yukarı tam olarak nasıl değiştireceğini Yerleşik * Yardım * sistemi çalışır.

+4

'less',' more', ancak emacs benzeri bağlamaları ve hoş bir rengi olan başka bir çağrı cihazı da vardır. – Daimrod

cevap

5

$PAGER genel kullanımı için e-sink ilginizi çekebilir.

Man sayfalarının özel durumu için, Emacs'ın yerleşik erkek modunu not ettiğiniz gibi kullanmak daha iyidir. Benim .bashrc bu vardır:

man() 
{ 
    if [ "$TERM" == "eterm-color" ]; then 
     emacsclient -e "(man \"$1\")"; 
    else 
     command man "[email protected]"; 
    fi 
} 

Sana bu kullanım her zaman emacsclient yapmak veya geçiş yapabilirsiniz böylece .emacs dosyasında (setenv "WITHIN_EMACS" "1") böyle bir şey yapmak zorunda kalacaktır ya yaptıkları gibi shell-mode yerine ansi-term-mode kullandığından $WITHIN_EMACS yerine.

+2

Kendi değişkeninizi ayarlamak zorunda değilsiniz, 'M-x shell' içinde sizin için INSIDE_EMACS setleri emacs. [Kılavuza bakın] (https://www.gnu.org/s/libtool/manual/emacs/Interactive-Shell.html) – brontitall

+0

+1. Ben ansi-term modunu tercih ederim, bu yüzden farketmedim. –

İlgili konular