Emacs Lisp: Text Editing Functions

By Xah Lee. Date: . Last updated: .

Here's the most used functions related to text editing.

Insert functions insert at the position of cursor. [see Cursor Position Functions]

Insert Text

insert
(insert &rest ARGS)

Insert string into current buffer.

;; insert string at current cursor position
(insert "sun and moon")
insert-buffer-substring
(insert-buffer-substring BUFFER &optional START END)

Insert text from another BUFFER into the current buffer.

insert-into-buffer
(insert-into-buffer BUFFER &optional START END)

Insert text from current buffer into another BUFFER.

insert-file-contents
(insert-file-contents FILENAME &optional VISIT BEG END REPLACE)

Insert contents of file FILENAME into current 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 text btween 2 positions.

💡 TIP: frequently used with point-min and point-max.

;; deleting text btween positions 59 and 896
(delete-region 59 896)
erase-buffer

Delete all next 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