Как я могу создать пустой файл из emacs, идеально из сушеного буфера?
Например, я только что открыл модуль Python в сушеном режиме, создал новый каталог, открыл это в сушеном, и теперь должен добавить пустое __init__.py
файл в каталоге.
Если я использую C-x C-f __init__.py RET C-x C-s
затем emacs не создает файл, потому что никакие изменения не были внесены в него. Я должен был бы ввести в файле, сохранить его, удалить свой ввод и затем сохранить его снова, чтобы это работал.
Спасибо
Если вам нужен 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)))
Вы можете использовать сенсорную команду:
M-! touch __init__.py RET
Emacs не позволит вам сохранить буфер, если не считает, что его содержимое изменилось. Самый быстрый, хотя, возможно, и не самый чистый, - это открыть файл с помощью C-x C-f , затем нажать (скажем) пробел и backspace, после чего вы сможете сохранить файл без содержимого.
Есть и другие способы изменить флаг «буфер был изменен», но я не думаю, что есть более простой способ.
Следующие действия работают:
C-x b __init__.py RET C-x C-w RET
Если вы находитесь в управляемом буфере, файл будет сохранен в каталоге показать здесь.
Уловка состоит в том, чтобы сначала создать пустой буфер, переключившись на несуществующее имя. Затем распишите файл.