Leitura adicional

Leitura adicional

Sou um usuário entusiasta docasca de peixee eu gosto muito.

Porém, uma pergunta:

na páginahttps://fishshell.com/docs/2.1/index.htmlhá um parágrafo intitulado"Editor de linha de comando". Ele lista muitos atalhos úteis.

O que é mais interessante para mim éCtrl-L. De acordo com a descrição: “Ctrl-L limpa e repinta a tela”. Eu experimentei e funciona como desejado. No entanto, produz alguns sinais que são adicionados ao prompt anterior. Isso pode ser visto ao rolar para trás.

Exemplo:

rosika@... ~/Schreibtisch> [3;J
rosika@... ~/Schreibtisch>

Então [3;Jé sobre isso que estou perguntando. Na verdade, é [algum tipo de retângulo com (eu acho) 4 dígitos.

Alguém pode me dizer por que esse fenômeno ocorre? Do que se trata e deveria ser assim?

Muito obrigado antecipadamente.

Saudações

Rosika

Meu sistema:

Linux/Lubuntu 16.04.4 LTS, 64 bits

peixe v. 2.2.0-3

Responder1

terminais unix são preenchidos com conteúdo interpretando sequências de controle e texto misturados em um único fluxo. muitos caracteres podem ser texto e código de controle e depende do contexto o que eles significam.

<esc> [3;Jé uma dessas sequências. no contexto errado ele é impresso, no contexto certo faz parte da redefinição da exibição.

veja as páginas termcap, console_codese tputman para mais detalhes.

Responder2

Seu emulador de terminal não corresponde ao valor da sua TERMvariável de ambiente. O erro mais comum é pensar que algo que não é XTerm corresponderá aos registros termcap/terminfo nomeados xtermou xterm-newou xterm-256color.

E3Seu registro terminfo especifica o recurso relativamente novo (atualmente especificado para linux, putty, putty-256color, xterm-basic, xterm-new, xterm, xterm-256colore alguns outros tipos de terminal) que informa aos programas que há um buffer de rolagem para limpar e como limpá-lo. Mas o seu emulador de terminal, de fato, não suporta essa sequência de controle e, em vez disso, imprime o que você vê em resposta a ela. O shell de peixe está executando o clearcomando, que agora faz uso deste aumento de terminfo.

O nome fornecido no valor da sua TERMvariável de ambiente deve corresponder ao nome de um registro termcap/terminfo que descreve corretamente a operação do seu emulador de terminal.

Leitura adicional

informação relacionada