Editores de texto Linux capazes de trabalhar com linhas muito, muito longas e registros de comprimento fixo

Editores de texto Linux capazes de trabalhar com linhas muito, muito longas e registros de comprimento fixo

Tenho um problema bastante simples aqui: tenho um pedaço de texto que é uma linha gigante (~ 150.000 caracteres). Sem quebras de linha e é um arquivo simples de comprimento fixo (ou seja, foi produzido por um COBOLprograma), portanto, introduzir quebras de linha não é apenas estranho, mas também é ativamente inútil se eu estiver tentando fazer alterações no arquivo.

A maioria dos editores de texto luta com uma única linha tão grande ( lessnão gosta, Geditnão gosta, nanonão gosta, ouvi dizer vimque não gosta, etc), embora funcionem.

Alguém tem alguma sugestão de editor que seja mais adequado aos dados com os quais estou trabalhando? É apenas uma linha, mas ainda causa mais problemas do que um arquivo de texto de 1GiB + com linhas de comprimento normal causaria ...

Seria ainda melhor se funcionasse EBCDICe não vomitasse ao encontrar bytes nulos ou os distorcesse ao escrever novamente (alguns campos são decimais codificados em binário).

Observe que não se trata de arquivos grandes em termos de tamanho bruto - o arquivo contém apenas uma única linha - mas do fato de que a maioria dos editores não está otimizada para lidar com linhas muito longas.

Responder1

Acho que um arquivo como o que você está descrevendo está, para fins práticos, agindo como um arquivo binário e você deve tratá-lo como tal.

Você poderia atacá-lo com um editor hexadecimal, mas isso não ajuda na parte EBCIDC.

Se você tiver que fazer muitas edições neste arquivo e estiver intimamente familiarizado com seu formato de registro de comprimento fixo, pode valer a pena preparar algo em Perl ou outra linguagem (sugiro Perl porque é antigo e muito provavelmente possuem módulos que convertem UTF-8, etc. para EBCIDC), que funcionariam com o formato específico deste arquivo.

Responder2

eu na verdadeApenas tenteivim em um arquivo com uma única linha de 150.000 caracteres e funcionou perfeitamente.

Então eu acho que você realmente deveria tentar, se não o fez apenas porque you heard vim doesn't like such kind of files...

Veja como consegui meu arquivo:

seq 150000 | while read num; do echo -n "b" ; done > megaline.txt

Responder3

Tentei o mesmo método do Dakatine com a instalação do emacs e funcionou bem. Sem interrupções, nada. Se você estiver editando texto simples (ou seja, não fazendo nenhum tipo de análise que um modo para uma linguagem de programação exige, no text-mode), será muito, muito difícil bloquear o emacs. O comportamento que você está vendo com o Eclipse é provavelmente um reflexo do fato de que o Eclipse está tentando fazer algum tipo de análise no texto à medida que o renderiza - o mesmo vale para o Gedit. Também não consigo reproduzir seu problema less- tudo funciona bem para mim.

Responder4

De uma chance:JEdit - Um editor programador

Possui alguns recursos avançados de buffer e E/S altamente otimizada, mas demora um pouco para inicializar (devido à JVM). Tenho usado para visualizar e editar arquivos de 1GiB sem problemas - pelo menos no Debian. Não posso garantir que ele se comportará tão bem no Windows... :)

informação relacionada