2012-07-25 16 views
9

Linux'ta bir VT100 terminal öykünücüsü kullanıyorum. Bash, yukarı ve aşağı okları yürütülen son komutları kaydırır; beklendiği gibi çalışıyorlar.Yukarı ve aşağı ok komutları, Python komut satırı yorumcusunda neden çalışmıyor?

Önceki (yukarı ok) ve sonraki (aşağı ok) komutları, Python komut satırı yorumcusunda yorumlanamaz. Bu işi yapmak için ne tür anahtar eşlemelere ihtiyacım var?

Teşekkür ederiz. Varsayılan olarak

+0

Teknik olarak, yukarı ok ve aşağı ok sadece ince olarak yorumlanır; Sorun şu ki, IDLE verilerini görüntülemek için bir metin kutusu/metin alanı türü penceresi kullandığı için, "yukarı" ve "aşağı" tuşlarına basmak pencerede imleci yukarı veya aşağı hareket ettirir. IDLE'yi bir terminal penceresi gibi kullanmayın. – JAB

+0

@JAB Not, ancak son komutu almak için nasıl davranırım? – octopusgrabbus

+0

IDLE'yi başlıktan ve gönderiden kaldırdım çünkü bana göre Python komut satırı yorumlayıcısı için başka bir terim yok. – octopusgrabbus

cevap

3

GNU Readline kitaplığına sahip olduğunuzu varsayarak cevabı buldum. (Sadece GNU Readline [veya bir liman, sanırım] zaman mevcut olmadığını yaptığı gibi bu, bir Unix tarzı arayüzü kullanarak taban uygulaması hakkında kısmen yanlış olduğu anlamına gelmez.)

http://docs.python.org/tutorial/interactive.html#history-substitution

Geçmiş ikamesi aşağıdaki gibi çalışır. Tüm boş olmayan giriş satırları bir tarih ara belleğinde kaydedilir ve yeni bir bilgi istendiğinde, bu arabelleğin alt kısmında yeni bir satıra yerleştirilirsiniz. C-P, tarih ara belleğinde bir satır yukarı (arka) hareket eder, C-N bir aşağı taşır. Tarih tamponundaki herhangi bir satır düzenlenebilir; Değiştirilen çizgiyi işaretlemek için komut isteminin önünde bir yıldız işareti belirir. Dönüş tuşuna basmak mevcut satırı tercümana iletir. C-R, artımlı bir ters arama başlatır; C-S ileriye doğru arama başlatır.

6

, keymappings şunlardır:

  • yaşlı: alt-p
  • daha yeni: Sen sırasıyla Options -> Configure IDLE -> Keys -> "history-previous" ve "history-next" bölümünde değiştirebilirsiniz

alt-n .

+0

oldu. Orijinal soruyu, IDLE'nin komut satırı sürümü olduğunu belirtmek için düzenledim. Seçenekleri komut satırı aracılığıyla nasıl ayarlayabilirim? Teşekkürler. – octopusgrabbus

+0

Terminal girişi için bu durumun doğru olup olmadığını hatırlamıyorum, ancak IDLE'de, daha önceki ifadeyi almak için Alt + N tuşlarına basmadan önce bir önceki ifadenin ilk bölümünü de yazabilirsiniz. arasında. – JAB

+2

@octopusgrabbus: Son kontrol ettim, IDLE bir Tk/TCL tabanlı GUI görüntülemek için Python'un 'tkinter' modülünü kullanan bir (oldukça basit) IDE'dir. Hiç bir komut satırı versiyonu olduğunu hiç duymadım (tabii ki bir terminalden başlatabilirsin). – JAB

İlgili konular