Как я создаю пустой файл в emacs?

Как я могу создать пустой файл из emacs, идеально из сушеного буфера?

Например, я только что открыл модуль Python в сушеном режиме, создал новый каталог, открыл это в сушеном, и теперь должен добавить пустое __init__.py файл в каталоге.

Если я использую C-x C-f __init__.py RET C-x C-s затем emacs не создает файл, потому что никакие изменения не были внесены в него. Я должен был бы ввести в файле, сохранить его, удалить свой ввод и затем сохранить его снова, чтобы это работал.

Спасибо

62
задан Singletoned 7 April 2010 в 11:49
поделиться

4 ответа

Если вам нужен Emacs чтобы обрабатывать все новые файлы как измененные, вы можете автоматизировать решение следующим образом:

(add-hook 'find-file-hooks 'assume-new-is-modified)
(defun assume-new-is-modified ()
  (when (not (file-exists-p (buffer-file-name)))
    (set-buffer-modified-p t)))
20
ответ дан 24 November 2019 в 16:37
поделиться

Вы можете использовать сенсорную команду:

M-! touch __init__.py RET
57
ответ дан 24 November 2019 в 16:37
поделиться

Emacs не позволит вам сохранить буфер, если не считает, что его содержимое изменилось. Самый быстрый, хотя, возможно, и не самый чистый, - это открыть файл с помощью C-x C-f , затем нажать (скажем) пробел и backspace, после чего вы сможете сохранить файл без содержимого.

Есть и другие способы изменить флаг «буфер был изменен», но я не думаю, что есть более простой способ.

12
ответ дан 24 November 2019 в 16:37
поделиться

Следующие действия работают:

C-x b __init__.py RET C-x C-w RET

Если вы находитесь в управляемом буфере, файл будет сохранен в каталоге показать здесь.

Уловка состоит в том, чтобы сначала создать пустой буфер, переключившись на несуществующее имя. Затем распишите файл.

28
ответ дан 24 November 2019 в 16:37
поделиться
Другие вопросы по тегам:

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