Текстовый редактор, который обновляет файл без запроса

Есть ли какая-либо консоль - или текстовый редактор оконный, который автоматически перезагружает файл, измененный на диске, ничего не запрашивая?

4
задан 26 August 2014 в 07:48

4 ответа

Emacs может сделать это для Вас. Это называют revert-buffer в Emacs. Если Вы хотите включить его для каждого файла, который Вы открываете в Emacs, добавляете следующее к Вашему ~/.emacs или .emacs.d/init.el файл:

 (global-auto-revert-mode 1)

Посмотрите Emacs Wiki для получения дополнительной информации. Это сообщение Форумов Ubuntu может также быть полезным.

0
ответ дан 17 November 2019 в 15:21

vim может сделать это. Просто добавьте

set autoread

к Вашему ~/.vimrc. (Также проверьте плагин Пакета Хвоста.)
autoread установка применяет только определенные события (который может быть определен путем проверки текста справки на timestamp (:h timestamp)). Сделать vim файлы загрузки более часто, существует две достойных опции:

  1. Определите функцию, которая наблюдает за изменениями.
  2. Установите автокоманду, такую как:

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

    Это перезагрузит каждый раз, когда vim фокус усилений, Вы вводите буфер, перемещают курсор, неактивный курсор. Это не изменит текущую позицию курсора все же.

emacs может также сделать это, если Вы добавляете к Вашему .emacs:

(global-auto-revert-mode t)

Это не наблюдает за изменениями также, но следующее должно:

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

Это, как предполагается, работает как tail -f, по данным EmacsWiki.

Даже если gedit не поддерживает это, я уверен, что существует много других редакторов GUI, которые делают.

Источники:

  1. Может энергия наблюдать изменения в реальном времени в файл
  2. Как сделать, чтобы Emacs автообновил все буферы, когда файлы изменились на диске?
2
ответ дан 17 November 2019 в 15:21

Для тех, кому нравится что-то более современное, , Сублимированный текст делает это по умолчанию.

// 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,
0
ответ дан 17 November 2019 в 15:21

g/vim может сделать это при использовании этой команды:

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

(Для прокручивания вниз автоматически использования...feedkeys("G") вместо этого (но это прокручивает каждый видимый буфер вниз, даже когда разделено),

... можно найти объяснение и дополнительную информацию в этом stackoverflow вопросе/ответе https://stackoverflow.com/a/48296697/4940240

0
ответ дан 1 December 2019 в 10:20

Другие вопросы по тегам:

Похожие вопросы: