缓冲区读写
缓冲区是Emacs中最常用的概念之一,也是最常操作的地方,所以是一个重点。(缓冲区的基本概念可自行了解)
常见的一些操作有:
- 获取当前的缓冲区:
(current-buffer)
- 通过名称来获取一个缓冲区:
(get-buffer "buffer-name")
- 获取缓冲区(如果不存在就新建一个):
(get-buffer-create "buffer-if-not-exist")
- 切换缓冲区,使用set-buffer:
(set-buffer (get-buffer "buffer-name"))
- 有时候我们会临时切换一下buffer,但操作完成后,需要回到当前的buffer,这时候需要使用
save-current-buffer
来保存当前的buffer:
(save-current-buffer
(set-buffer (get-buffer "buffer-name"))
(message "Done.")
)
- 获取当前buffer对应的文件的全路径:
(buffer-file-name)
- 通过文件路径来获取buffer
(get-file-buffer "~/.Emacs.org")
注意,如果你没有填写绝对路径的话,会是相对于default-directory
变量的路径。
- 把文件内容读到buffer中
(find-file-noselect "file-name.el")
- 操作buffer时,保留操作之前的光标位置
(save-excursion
(DO-SOMETHING-HERE))
- 保存缓冲区
(save-buffer)
其他的就是一些操作文本或者缓冲区的函数了,例如:
- insert
- insert-file
- point
- delete-region
- ……