Salte para o último prompt no terminal (ou tmux)

8

Em um terminal, existem atalhos para ir para um prompt anterior / seguinte? Rolar para cima e tentar encontrar o início de um log diminui meu fluxo de trabalho.

Estou usando o iTerm no OSX, mas isso deve ser aplicável a qualquer terminal Unix. Uma solução no Tmux também ajudaria.

domi91c
fonte
Se o seu nome de host está em seu prompt, você poderia inverter pesquisa para ciclo de volta dessa maneira ...
jasonwryan
Tubo para less.
Kusalananda

Respostas:

4

Dentro do tmux v2.4 + ( confirmação relevante ), é possível definir uma ligação para ir para os últimos prompts com confiabilidade aceitável:

bind-key b copy-mode\;\
           send-keys -X start-of-line\;\
           send-keys -X search-backward " "

Onde " "é um espaço sem quebra e é feita uma alteração correspondente para que o prompt do shell o contenha ( $PS1ou $PROMPT_COMMANDno bash).

Pode ser necessário um cuidado especial para configurá-lo no prompt do shell e na configuração do tmux, pois pode ser alterado para o espaço regular durante as operações de copiar e colar (consulte o método com vim nos comentários).

Como alternativa, você pode tentar seu caractere de espaço unicode alternativo favorito ou qualquer coisa que ocorra raramente nas saídas de comando e que esteja pronto para aceitar a exibição em seu prompt (🍌?).

Também pode ser uma combinação de vários caracteres para menos falso-positivos. Provavelmente, é melhor escolher algo no final do prompt, para facilitar a navegação.

Crédito :

lbonn
fonte
1
Recortar e colar não faria com que o caractere de espaço ininterrupto funcionasse para mim, mas eu consegui fazê-lo funcionar usando o Vim. No modo de inserção, use CTRL-k <space><space>para inserir o espaço sem quebra. Depois, no modo normal, o gacomando imprime o valor ASCII do caractere sob o cursor, que pode ser usado para confirmar que esse caractere é diferente de outros espaços.
precisa saber é o seguinte
0

Se você lessvisualizar o conteúdo do arquivo de log, poderá rolar para frente e para trás usando as teclas Spacee b(consulte o lessmanual). Você também pode realizar pesquisas na saída com /(e ?para pesquisa reversa).

Para visualizar a saída de um programa less, basta canalizar a saída para ele:

$ ./myprogram | less

Para salvar adicionalmente a saída em um arquivo:

$ ./myprogram | tee myprogram.out | less

Se você pressionar Fenquanto lê um arquivo que está sendo gravado, lessse comportará como tail -f. Para interromper isso, pressione Ctrl+ c.

Kusalananda
fonte