Selecione / cole o Word-Wrap em terminais baseados em X

1

Existe um método infalível para cortar & colar palavra quebra em terminais baseados em X? Ou seja, se eu selecionar, em seguida, colar via botão-3, se o texto vai para o final da linha e envolve, o colar assume o retorno de carro e insere-lo. Eu prefiro:

if (endcolumn==non-space character) {
  assume wordwrap
}
else {
  insert carriage return after last non-space character
}

Isso me deixa louco. Especialmente ao colar o código que é > 80 colunas. Às vezes funciona, na maioria das vezes isso não acontece.

    
por Pete Ashdown 11.02.2011 / 17:50

2 respostas

0

Concordo que isso faz uma enorme diferença na usabilidade. Eu acho muito importante poder clicar triplicar e copiar / colar linhas que foram quebradas. Existem duas formas de funcionar corretamente. Clicar três vezes (e clicar em arrastar) seleciona o final da linha para a próxima linha visível, sem nenhum CR inserido. Ou então, clique triplo seleciona apenas uma linha visível, mas quando você colá-lo, não há CR.

A maneira quebrada é quando o clique triplo seleciona apenas a linha visível e, em seguida, assume um CR no final quando cola. Eu tenho visto mau comportamento do terminal xterm e gnome. Eu vi um bom comportamento do aplicativo Mac Terminal e do iTerm, que é outro aplicativo de terminal para Mac.

Não tenho dicas para transformar uma situação ruim em uma boa que não seja tentar um programa de terminal diferente. Tenho certeza de que isso se liga ao fato de o programa terminal realmente se lembrar dos locais de todos os CRs que ele vê, ou simplesmente interpretar o CR e, em seguida, esquecê-lo.

    
por 11.02.2011 / 18:38
1

Terminais Unix não fazem quebra de linha. Este é um recurso do aplicativo em execução no terminal. O terminal recebe as mesmas instruções para exibir

|This is text formatted  |        |This is line 1.         |
|to 24 columns           |   or   |This is line 2.         |

Se puder, diga ao seu aplicativo para não fazer nenhuma embalagem. Desta forma, o terminal irá quebrar, mas sempre na última coluna.

|This is a single long li|
|ne of text.             |

Se você clicar três vezes nisso, obterá This is a single long line of text com uma nova linha apenas no final (ou nenhuma nova linha dependendo do emulador de terminal).

Ao colar, o terminal apenas envia o texto para o aplicativo, como se você tivesse digitado. Se você observar qualquer comportamento, como envolvimento, depende da largura do terminal, é devido à aplicação, não ao terminal.

    
por 11.02.2011 / 19:53