Como faço para impedir que o emacs me pergunte se eu quero carregar um arquivo grande?

14

Quando abro um arquivo grande no emacs, recebo uma mensagem dizendo que 'o arquivo foo.bar é grande; realmente aberto? '

Como faço para impedir que o emacs me faça essa pergunta o tempo todo? Em outras palavras, se eu abrir o arquivo, quero abrir o arquivo, não importa quão grande seja.

    
por Tola Odejayi 07.01.2014 / 18:58

1 resposta

22

Por meio do manual

No manual (que você pode navegar no Emacs em Info: C-h i m Emacs RET ): vá para o capítulo em arquivos e, em seguida, a seção em visitando (ou seja, abrindo) arquivos. Procure a palavra "grande":

If you try to visit a file larger than large-file-warning-threshold (the default is 10000000, which is about 10 megabytes), Emacs asks you for confirmation first. You can answer y to proceed with visiting the file.

Esta não é a história completa, você pode encontrar mais informações consultando a documentação de large-file-warning-threshold ( C-h v large-file-warning-threshold RET ).

large-file-warning-threshold is a variable defined in files.el.
Its value is 10000000

Maximum size of file above which a confirmation is requested.
When nil, never request confirmation.

Para definir o valor, você pode usar a interface Personalizar (há um link na tela de ajuda para a variável) ou colocar a seguinte instrução em .emacs :

(setq large-file-warning-threshold nil)

Digite C-M-x enquanto o ponto estiver nessa linha para executá-lo agora.

Na interface Personalizar

Em "Arquivos", em "Localizar arquivos", há uma configuração "Limite de aviso de arquivo grande". Você pode configurá-lo para um valor grande, embora em uma máquina de 32 bits você possa se deparar com o limite rígido relativamente pequeno do Emacs em tamanhos inteiros.

Ao ler a fonte

Veja a função para abrir arquivos: C-h k C-x C-f (ou C-h f find-file RET ). Clique em files.el para procurar o arquivo de origem (você deve ter as fontes Lisp instaladas). Não leia o código - é muito grande - mas procure por partes da mensagem nesse arquivo. Você encontrará

(defun abort-if-file-too-large (size op-type filename)
  "If file SIZE larger than 'large-file-warning-threshold', allow user to abort.
OP-TYPE specifies the file operation being performed (for message to user)."
  (when (and large-file-warning-threshold size
       (> size large-file-warning-threshold)
       (not (y-or-n-p
         (format "File %s is large (%dMB), really %s? "
             (file-name-nondirectory filename)
             (/ size 1048576) op-type))))
      (error "Aborted")))

A mensagem é exibida apenas quando algumas condições são atendidas. A primeira condição é large-file-warning-threshold (interpretada como booleana), ou seja, large-file-warning-threshold deve ser não-nulo. Assim, você pode desativar a mensagem definindo essa variável como nil . (Você pode confirmar que é uma variável global observando sua definição no mesmo arquivo - é um item personalizável, e a documentação explica como ele é usado se você não estiver familiarizado o suficiente com o Lisp e só descobrir que a variável importava em alguns maneira.)

    
por 08.01.2014 / 02:54

Tags