Elisp: Write File
Write File
write-region
-
(write-region START END FILENAME &optional APPEND VISIT LOCKNAME MUSTBENEW)
Write region or string to a file.
- START and END are buffer positions.
- If START is nil, write whole buffer. END is ignored.
- If START is a string, write that. END is ignored.
- FILENAME is a file path or name relative to default-directory.
💡 TIP: If you have a string, or a buffer not associated with a file, use
write-region
to write a file. Else, if you have a buffer already associated with a file, usesave-buffer
. 〔see Elisp: Buffer Functions〕;; write region to file (write-region (point-min) (point-max) "~/temp.txt")
;; write string to file (write-region "something something" nil "~/temp.txt")
write-file
-
(write-file FILENAME &optional CONFIRM)
Write buffer content into a new file, like “save as”, and open that file.
💡 TIP: do not use this, unless you want the user to see opened file after the command, with syntax coloring and running all hooks of a major mode (which are super slow.). To simply write buffer to file, use
write-region
.(write-file "~/new.txt")
append-to-file
-
(append-to-file START END FILENAME)
Append text between 2 positions in current buffer to a file.
- START and END are buffer positions.
- If START is nil, write whole buffer. END is ignored.
- If START is a string, write that. END is ignored.
- FILENAME is a file path or name relative to default-directory.
;; append whole buffer content to a file (append-to-file (point-min) (point-max) "~/test.txt" )
save-buffer
-
(save-buffer &optional ARG)
A user-oriented command to save current buffer. If buffer is not associated with a file, it prompts for a path.
💡 TIP: avoid using this, because it also invokes automatic backup and other hooks.
Create New File
with-temp-file
-
(with-temp-file FILE BODY)
Create a new buffer, make it current, evaluate BODY, and write the buffer to FILE.
Overwrite existing file at FILE.
The value returned is the value of the last form in BODY.
;; create a file with text hello (with-temp-file "test.txt" (insert "hello"))
Reference
Emacs Lisp, File, Buffer
- Elisp: Buffer Functions
- Elisp: Read File
- Elisp: Read File Content as String or Lines
- Elisp: Write File
- Elisp: Open File, Read, Possibly Write
- Elisp: File and Directory Functions
- Elisp: Get File Info
- Elisp: File Path Functions
- Elisp: Walk Directory, List Files
- Elisp: Walk Directory by Depth 🚀
- Elisp: Get Dired Marked Files