Existem editores que podem editar arquivos de texto de vários gigabytes, talvez carregando apenas pequenas partes na memória de uma vez? Não parece que o Vim pode lidar com isso = (
vim
text
text-editor
Philip Brocoum
fonte
fonte
Respostas:
Se você estiver em * nix (e supondo que você tem que modificar somente partes do arquivo (e raramente)), você pode dividir os arquivos (usando o
split
comando), editá-los individualmente (usandoawk
,sed
ou algo similar) e concatenar-los depois de estão prontos.fonte
Ctrl-C interromperá o carregamento do arquivo. Se o arquivo for pequeno o suficiente, você pode ter tido a sorte de carregar todo o conteúdo e simplesmente eliminar todas as etapas de pós-carregamento. Verifique se todo o arquivo foi carregado ao usar esta dica.
O Vim pode lidar muito bem com arquivos grandes. Acabei de editar um arquivo de 3,4 GB, excluindo linhas, etc. Três coisas para manter em mente:
:115355
o levará diretamente para a linha 115355, que é muito mais rápida em arquivos grandes. O Vim parece começar a escanear do início toda vez que carrega um buffer de linhas, e manter pressionado Ctrl-F para escanear o arquivo parece ficar muito lento perto do fim.Nota - Se a sua instância do Vim estiver somente leitura porque você pressionou Ctrl-C, é possível que o Vim não carregue o arquivo inteiro no buffer. Se isso acontecer, salvá-lo salvará apenas o que está no buffer, não o arquivo inteiro . Você pode verificar rapidamente com um
G
para pular para o final e certificar-se de que todas as linhas do arquivo estão lá.fonte
Podem ser plug-ins que estão causando a obstrução. (destaque de sintaxe, dobras, etc.)
Você pode executar o vim sem plug-ins.
É minimalista, mas pelo menos vai lhe dar os movimentos vi que você está acostumado.
é outro óbvio. Remova sua instalação e forneça o que você precisa. Você descobrirá do que ele é capaz e se precisa realizar uma tarefa por outros meios.
fonte
Uma ligeira melhoria na resposta dada por @Al pachio com a solução split + vim, você pode ler os arquivos com um glob, efetivamente usando pedaços de arquivo como buffer, por exemplo
fonte
Você pode querer verificar este plugin VIM que desabilita certos recursos do vim para aumentar a velocidade ao carregar arquivos grandes.
fonte
Tentei fazer isso, principalmente com arquivos em torno de 1 GB, quando precisei fazer algumas pequenas alterações em um dump SQL. Estou no Windows, o que o torna um grande problema. É muito difícil.
A pergunta óbvia é "por que você precisa?" Posso dizer por experiência própria, tendo que tentar isso mais de uma vez, você provavelmente deseja realmente tentar encontrar outra maneira.
Então como você faz isso? Existem algumas maneiras de fazer isso. Às vezes consigo fazer o vim ou o nano abrir o arquivo e posso usá-los. É uma dor muito forte, mas funciona.
Quando isso não funcionar (como no seu caso), você tem apenas algumas opções. Você pode escrever um pequeno programa para fazer as alterações de que precisa (por exemplo, pesquisar e substituir). Você pode usar um programa de linha de comando que pode fazer isso (talvez pudesse ser feito com sed / awk / grep / etc?)
Se isso não funcionar, você sempre pode dividir o arquivo em partes (algo como dividir sendo a escolha óbvia, mas você pode usar head / tail para obter a parte que deseja) e, em seguida, editar as partes que precisam, e recombinar mais tarde.
Confie em mim, tente encontrar outra maneira.
fonte
Eu acho que é razoavelmente comum para editores hexadecimais lidar com arquivos enormes. No Windows, eu uso HxD , que afirma lidar com arquivos de até 8 EB (8 bilhões de gigabytes).
fonte
hexedit
Estou usando o vim 7.3.3 no Win7 x64 com o plug-in LargeFile de Charles Campbell para lidar com arquivos de texto simples de vários gigabytes. Funciona muito bem.
Eu espero que você venha bem.
fonte
Nossa, nunca consegui fazer o vim engasgar, mesmo com um ou dois GB. Ouvi dizer que UltraEdit (no Windows) e BBEdit (no Macs) são ainda mais adequados para arquivos ainda maiores, mas não tenho experiência pessoal.
fonte
No passado, eu abri um arquivo de 3 GB com esta ferramenta http://csved.sjfrancke.nl/
fonte
Pessoalmente, gosto do UltraEdit . Aqui está seu pequeno discurso sobre arquivos grandes .
fonte
Eu usei o editor / visualizador embutido do FAR Commander para arquivos de log muito grandes.
fonte
Usei o TextPad para arquivos de log grandes, ele não tem um limite superior.
fonte
A única coisa que consegui usar para algo assim é meu editor hexadecimal favorito do Mac, 0XED. No entanto, isso foi com arquivos que considerei grandes, com dezenas de megabytes. Não tenho certeza de quão longe isso irá. Tenho quase certeza de que ele carrega apenas partes do arquivo na memória de uma vez.
fonte
No passado, usei com sucesso uma abordagem de divisão / edição / junção quando os arquivos ficam muito grandes. Para que isso funcione você deve saber onde está o texto a ser editado, no arquivo original.
fonte