Eshell: vai alla riga di comando alla pressione del tasto


8

A volte, quando scorro verso l'alto in eshell, point lascia la riga del prompt dei comandi per rimanere nell'area visibile. Quando inserisco un comando, non inserisco il comando al prompt, ma rater inserisco il testo da qualche parte nell'output dei comandi precedentemente chiamati. Questo è piuttosto fastidioso.

Come posso assicurarmi che i ritorni di eshell puntino al prompt dei comandi quando inserisco un carattere, proprio come in altre shell?

/ modifica: ecco uno screencast della situazione. Scrivo ls, quindi scorro verso l'alto per rivedere l'output, quindi decido che voglio fare un cd .., ma poiché inserisce appena il comando al punto, risulta essere immondizia.

eshell-scroll-point


Non penso che sia fastidioso. In Eshell, puoi eseguire un comando da qualsiasi luogo e utilizzando l'output precedente, non solo dopo l'ultimo prompt dei comandi, è ovviamente una funzionalità molto interessante. Per me, questa funzione è il motivo principale per cui utilizzo Eshell. Per andare all'ultimo prompt dei comandi, io uso M->.
xuchunyang,

Esiste la possibilità di fornire uno screenshot di un caso in cui il punto lascia la riga di comando e si desidera restituire il punto al prompt dei comandi inserendo un carattere arbitrario? Il punto sinistro è nella stessa riga dell'ultimo prompt? Ti piace tornare all'ultimo prompt? E se all'ultimo prompt è presente del testo incompleto?
Nome

@xuchunyang: Il problema è che il punto si allontana dal prompt quando non lo voglio (ad esempio, quando scorro verso l'alto, vedi lo screencast). Quindi avere il punto rimanere al prompt se non lo sposto da qualche parte da solo sarebbe la soluzione "reale". Sembra però che il punto debba essere sempre nell'area visibile in emacs.
Geier,

Risposte:



0

Penso che quello che stai cercando sia il comportamento Smart Shell di Plan 9 in Emacs. Mickey Peterson lo ha trattato nel suo recente libro Mastering Emacs , che prevede l'aggiunta di questi al file init.el:

(require 'eshell)
(require 'em-smart)
(setq eshell-where-to-jump 'begin)
(setq eshell-review-quick-commands nil)
(setq eshell-smart-space-goes-to-end t)

Non funziona :(
Geier,

Tre opzioni hanno già lo stesso valore che hai impostato (almeno in Emacs 25 che sto usando), quindi potresti non impostarle di nuovo ora.
xuchunyang,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.