Se você quiser abrir o arquivo inteiro (o que requer), mas mostrar apenas parte dele na janela do editor, use narrowing . Selecione a parte do buffer em que você deseja trabalhar e pressione C-x n n
( narrow-to-region
). Diga “sim” se você receber um aviso sobre um comando desativado. Pressione C-x n w
( widen
) para ver o buffer inteiro novamente. Se você salvar o buffer, o arquivo completo é selecionado: todos os dados ainda estão lá, estreitando apenas restringe o que você vê.
Se você quiser ver uma parte de um arquivo, você pode inseri-lo no buffer atual com shell-command
com um argumento de prefixo ( M-1 M-!
); execute o comando apropriado para extrair as linhas desejadas , eg <huge.txt tail -n +57890001 | head -n 11
.
Há também uma função Lisp insert-file-contents
o que pode levar um intervalo de bytes. Você pode invocá-lo com M-:
( eval-expression
):
(insert-file-contents "huge.txt" nil 456789000 456791000)
Observe que você pode entrar no limite de tamanho inteiro (dependente de versão e plataforma, verificar o valor de most-positive-fixnum
).
Em teoria, seria possível escrever um modo Emacs que carregasse e salvasse partes de arquivos de forma transparente, conforme necessário (embora o limite de tamanhos inteiros tornasse impossível o uso de deslocamentos reais de arquivos em máquinas de 32 bits). O único esforço nessa direção que eu conheço é VLF (link GitHub aqui ).