Elisp: Text Editing Functions
Here's the most used functions related to text editing.
Insert Text to Current Buffer at Cursor Position
the following functions insert text to current cursor position. [see Cursor Position Functions]
insert
-
(insert &rest ARGS)
Insert string.
;; insert string (insert "sun and moon")
insert-buffer-substring
-
(insert-buffer-substring BUFFER &optional START END)
Insert from BUFFER to current buffer.
insert-file-contents
-
(insert-file-contents FILENAME &optional VISIT BEG END REPLACE)
Insert contents of file FILENAME.
Insert Text to Specific Buffer
insert-into-buffer
-
(insert-into-buffer BUFFER &optional START END)
Insert text from current buffer into another BUFFER.
append-to-buffer
-
(append-to-buffer BUFFER START END)
copy current buffer START END region into buffer BUFFER, at that buffer's cursor position.
prepend-to-buffer
Delete Text
delete-char
-
Delete n characters to the right. Use negative number to delete to the left.
;; delete 9 chars starting at cursor pos (delete-char 9)
delete-region
-
(delete-region START END)
- Delete text between 2 positions. Order of positions does not matter.
- return nil
the cursor may be moved after the call:
- If cursor is before the region, no change.
- If cursor is between the region, it is moved to START.
- If cursor is after the region, point is updated accordingly. (i.e. Point stay with the text.)
💡 TIP: you may want to always call
goto-char
after, so the cursor position is explicit.;; deleting text between positions 59 and 896 (delete-region 59 896)
erase-buffer
-
Delete all text in buffer, ignores Narrow to Region.
(erase-buffer)
delete-and-extract-region
-
Delete between 2 positions and return the deleted text.
(delete-and-extract-region 3 20)
Reference
Elisp, text processing functions
- Elisp: Cursor Position Functions
- Elisp: Move Cursor
- Elisp: Text Editing Functions
- Elisp: Search Text
- Elisp: Find Replace Text in Buffer
- Elisp: Mark, Region, Active Region
- Elisp: Cut Copy Paste, kill-ring
- Elisp: Get Buffer String
- Elisp: Functions on Line
- Elisp: thing-at-point
- Elisp: Get Text Block 🚀
- Elisp: Save narrow-to-region