Terminal Gnome, `less` abre o arquivo na posição do cursor, não no topo do terminal

Terminal Gnome, `less` abre o arquivo na posição do cursor, não no topo do terminal

Se eu tentar abrir um arquivo com less, seu conteúdo começará na posição do cursor, não no topo da tela.

captura de tela.

Isso acontece apenas no gnome-terminal, por exemplo no Terminator está tudo bem. Como posso consertar isso?

Responder1

Conforme mencionado por egmont, lessdeve ser possível posicionar o cursor e, de fato, existe uma maneira de fazer isso. De acordo com lessa página de manual:

As opções também são retiradas da variável de ambiente "LESS". Por exemplo, para evitar digitar "less -options ..." cada vez que less for invocado, você pode dizer ao csh:

setenv MENOS "-opções"

ou se você usar sh:

MENOS="-opções"; exportar MENOS

Então, para poder lessredesenhar a tela com o cursor posicionado para cima, faça

echo   'LESS="-c"; export LESS' >> ~/.bashrc

-cA opção, que significa “limpar tela”, será anexada a cada uma lessautomaticamente e funcionará até mesmo em TTY, limpando a tela e reposicionando o cursor

Responder2

gnome-terminale terminatorambos dependem do vtewidget para emulação de terminal, embora terminatorusem um widget antigo (baseado em gtk2). Mais precisamente, terminatorusa vtea versão 0.28.2 (ambos no Ubuntu 14.04 e 16.06), enquanto gnome-terminalusa vtea versão 0.34.9 no Ubuntu 14.04 e 0.42.5 no Ubuntu 16.04.

Tal como acontece com a maioria dos softwares, as versões mais recentes devem ser mais estáveis, ricas em recursos e conter menos bugs (embora novos bugs, regressões, mudanças que as pessoas não gostam, etc. possam surgir de vez em quando). vterecebeu uma grande quantidade de alterações (correções) nos últimos 3 anos, incluindo esta.

vtepretende usar xtermcomo referência para o comportamento de emulação (a menos que veja um bom motivo para divergir, o que acontece muito raramente). Nesse caso, não vimos motivo para divergir (e provavelmente tínhamos um relatório de bug válido sobre vtenão funcionar como esperado em relação à posição do cursor ao mudar para a tela alternativa), então corrigimos vtepara nos comportarmos como xterm.

Em outras palavras, o Ubuntu 14.04 gnome-terminal, e tanto o 14.04 quanto o 16.04 terminatorforam quebrados, assumindo que aceitamos que o comportamento correto seja definido por xterm. terminatorestá muito atrasado com vtea versão e receberá essa correção (junto com muitas outras) quando finalmente lançar uma versão baseada em gtk3.

Eu entendo que você não gosta do novo comportamento de less(na verdade, eu também não gosto e prefiro a maneira como funcionou acidentalmente com o mais antigo vte), no entanto, seria uma abordagem absolutamente errada interromper intencionalmente vtepara alcançar o comportamento anterior . Em vez disso, lessvocê poderá posicionar o cursor na parte superior da tela. Se o comportamento atual realmente incomoda você, recomendo que você registre um relatório de bug/solicitação de recurso contra o less.

informação relacionada