fish-shell: atalho “ctrl-L”

0

Eu sou um usuário interessado do fish-shell e eu gosto muito dele.

Uma pergunta:

na página link existe um parágrafo intitulado "Editor de linha de comando" . Ele lista muitos atalhos úteis.

O mais interessante para mim é ctrl-L . De acordo com description: "Ctrl-L limpa e repinta a tela". Eu tentei e Funciona como desejado. Ainda produz alguns sinais que são adicionados ao prompt anterior. que pode ser visto ao rolar para trás.

Exemplo:

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

Então, esse [3;J é o que eu estou perguntando. O [ é de fato algum tipo de retângulo com (eu acho) 4 dígitos nele.

Alguém pode me dizer por que esse fenômeno ocorre? O que é e é isso deveria ser assim?

Agradecemos antecipadamente.

Saudações

Rosika

Meu sistema:

Linux / Lubuntu 16.04.4 LTS, 64 bits

peixe v. 2.2.0-3

    
por Rosika 30.05.2018 / 13:11

2 respostas

2

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

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

veja as páginas termcap , console_codes e tput man para mais detalhes.

    
por 30.05.2018 / 13:24
0

Seu emulador de terminal não corresponde ao valor da variável de ambiente TERM . O erro mais comum é pensar que algo que não seja o XTerm corresponderá aos registros termcap / terminfo chamados xterm ou xterm-new ou xterm-256color .

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

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

Leitura adicional

por 30.05.2018 / 15:19

Tags