首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

GNU emacs Lisp小结3

chapter4 与缓冲区有关的函数 4.1 查找更多的信息 C-h f 函数名   ;查询函数 C-h v 变量名   ;查询变量 find-tags 函数 ;跳到响应函数 M-. 函数名     ;同上 上面函数需要定义一个标记表(tags table),这是一个名为"TAGS"的文件。 可以使用M-x visit-tages-table来指定 C-h p 命令让你用主题关键字搜索Emacs Lisp标准库。 4.2 简化的beginning-of-buffer函数定义 beginning-of-buffer => M-< end-of-buffer => M-> (defun simple-beginning-of-buffer () "Move point to the beginning of the buffer; leave mark at previous position." (interactive) (push-mark) (goto-char (point-min))) 你可以使用C-h f fun来查询具体函数。 C-x C-x可以回到原来位置。 end-of-buffer 只需要把point-min换成point-max. 4.3 mark-whole-buffer函数 快捷键:C-x h (defun mark-whole-buffer () "Put point at beginning and mark at end of buffer." (interactive) (push-mark (point)) (push-mark (point-max)) (goto-char (point-min))) 4.4 append-to-buffer函数的定义 (defun append-to-buffer (buffer start end) "Append to specified buffer the next of the region. It is insert into that buffer before its point. When calling from a program, give three arguments: a buffer or the name of one, and two character numbers specifying the portion of the current buffer to be copied." (interactive "BAppend to buffer:\nr") (let ((oldbuf (current-buffer)))         (save-excursion (set-buffer (get-buffer-create buffer)) (insert-buffer-substring oldbuf start end)))) 4.5回顾 1.descibe-function, describe-variable C-h f, C-h v 2.find-tag M-. 3.save-excursion 保存当前的位点,标记,缓冲区,执行参数,最后返回原状态。 4.push-mark 在指定位置设置一个标记,并在标记环中记录原来标记的值。 5.goto-char 将位点设置为由参量指定的位置。 6.insert-buffer-substring 将一个来自缓冲区的文本域拷贝到当前缓冲区。 7.mark-whole-buffer C-x h 8.set-buffer 将Emacs的注意力转移到另一个缓冲区,但是不改变显示的窗口。 9.get-buffer-create, get-buffer 寻找一个已指定名字的缓冲区,或当指定名字的缓冲区不存在时就创建它。 chapter5 更复杂的函数 5.1 copy-to-buffer函数的定义 (defun copy-to-buffer (buffer, start, end) "...." (interactive "BCopy to buffer:\nr") (let ((oldbuf (current-buffer)))  (save-excursion    (set-buffer (get-buffer-create buffer))    (erase-buffer)    (save-excursion      (insert-buffer-substring oldbuf start end))))) 5.2 insert-buffer函数的定义 (defun insert-buffer (buffer) "Insert after point the contents of BUFFER. Puts mark a

03
您找到你想要的搜索结果了吗?
是的
没有找到
领券