Eshell: Vá para a linha de prompt ao pressionar as teclas


8

Às vezes, quando eu rolar para cima no eshell, point deixa a linha de prompt de comando para permanecer na área visível. Quando insiro um comando, não o insiro no prompt, mas insira o texto em algum lugar na saída dos comandos chamados anteriormente. Isso é muito chato.

Como posso garantir que os retornos do eshell aponte para o prompt de comando quando insiro um caractere, como em outros shells?

/ edit: Aqui está um screencast da situação. Eu digito ls, depois deslizo para cima para revisar a saída e decido que quero fazer a cd .., mas, como apenas insere o comando no ponto, acaba sendo um lixo.

eshell-scroll-point


Eu não acho isso irritante. No Eshell, você pode executar um comando de qualquer lugar e usar a saída anterior, não apenas após o último prompt de comando, é obviamente um recurso muito interessante. Para mim, esse recurso é o principal motivo pelo qual eu uso o Eshell. Para ir ao último prompt de comando, eu uso M->.
xuchunyang

Existe a possibilidade de fornecer uma captura de tela de um caso em que o ponto sai da linha de comando e você gostaria de retornar o ponto ao prompt de comando inserindo um caractere arbitrário? O ponto esquerdo está na mesma linha que o último prompt? Você gostaria de retornar ao último prompt? E se houver algum texto incompleto no último prompt?
Name

@xuchunyang: O problema é que o ponto se afasta do prompt quando eu não quero (ou seja, quando eu rolar para cima, veja o screencast). Portanto, manter o ponto no prompt, a menos que eu o mova sozinho para algum lugar seria a solução 'real'. Parece que o ponto deve sempre estar na área visível no emacs.
Geier

Respostas:



0

Acho que o que você está procurando é o comportamento do Smart Shell do Plan 9 no Emacs. Mickey Peterson abordou o assunto em seu recente livro Mastering Emacs , que envolve adicioná-los ao seu arquivo 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)

Não funciona :(
Geier

Já existem três opções com o mesmo valor que você definiu (pelo menos no Emacs 25 que estou usando), portanto, você pode não defini-las novamente agora.
xuchunyang
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.