Editor de texto que atualiza o arquivo sem avisar

4

Existe algum editor de texto baseado em console ou janela que recarregue automaticamente o arquivo alterado no disco sem perguntar nada?

    
por Kadir 26.08.2014 / 05:48

4 respostas

2

vim pode fazer isso. Basta adicionar

set autoread

para o seu ~/.vimrc . (Consulte também o plug-in Tail Bundle .)
A configuração autoread aplica-se apenas a determinados eventos (o que pode ser determinado verificando o texto de ajuda para timestamp ( :h timestamp )). Para tornar vim carregar arquivos com mais frequência, existem duas opções decentes:

  1. Defina uma função que observe as alterações.
  2. Defina um autocommand como:

    au FocusGained,BufEnter,BufWinEnter,CursorHold,CursorMoved * :checktime
    

    Isso será recarregado sempre que vim ganhar foco, você inserir o buffer, mover um cursor, ocioso o cursor. Não vai mudar a posição atual do cursor.

emacs também pode fazer isso, se você adicionar ao seu .emacs :

(global-auto-revert-mode t)

Isso também não vigia as alterações, mas o seguinte deve:

(global-auto-revert-tail-mode t)

Isso deve funcionar como tail -f , de acordo com o EmacsWiki .

Mesmo que gedit não suporte isso, tenho certeza de que há muitos outros editores de GUI.

Fontes:

  1. Pode monitorar as alterações em tempo real em um arquivo
  2. Como fazer com que o Emacs atualize automaticamente todos os buffers quando os arquivos foram alterados no disco?
por muru 26.08.2014 / 06:04
0

O Emacs pode fazer isso por você. É chamado revert-buffer no Emacs. Se você quiser habilitá-lo para cada arquivo que abrir no Emacs, adicione o seguinte ao seu arquivo ~/.emacs ou .emacs.d/init.el :

 (global-auto-revert-mode 1)

Veja o Wiki Emacs para mais informações. Esta postagem no fórum do Ubuntu também pode ser útil.

    
por ph0t0nix 26.08.2014 / 09:31
0

Para quem gosta de algo mais moderno, Sublime Text faz isso por padrão.

// Always prompt before reloading a file, even if the file hasn't been
// modified. The default behavior is to automatically reload a file if it
// hasn't been edited. If a file has unsaved changes, a prompt will always
// be shown.
"always_prompt_for_file_reload": false,
    
por Gabriel 28.04.2017 / 16:37
0

g / vim pode fazer isso usando este comando:

:set autoread | au CursorHold * checktime | call feedkeys("lh")

(Para rolar para baixo, use automaticamente feedkeys("G") (mas ele rola para baixo em todos os buffers visíveis, mesmo quando dividido)

... você pode encontrar explicações e informações adicionais nesta pergunta / resposta do stackoverflow link

    
por eli 22.01.2018 / 16:00