【发布时间】:2012-11-06 06:16:23
【问题描述】:
我想使用 kill-ring 和寄存器的一些特性创建一个函数。
基本上我想创建一个新模式,其中 r 后跟 p 应该将段落指向一个列表( r w 应该将单词放在该列表中的某个位置)。
然后,i 应该在该点插入该列表中的任何内容。
这是我目前的注册:
(defun Navi-register-region ()
(interactive)
(copy-to-register ?N (region-beginning) (region-end))
)
我对列表的历史不感兴趣,我只想让它不断地用当前选择的字符串替换变量中的字符串。
编辑:所以这就是我现在所拥有的,尽管它错误“错误的类型参数编号或标记”
(defun Navi-word-reg ()
(interactive)
(save-excursion
(right-word)
(push-mark (point) t t)
(left-word)
(kill-ring-save (region-beginning) (region-end))
(defvar bla (car kill-ring-yank-pointer))
; and here I would use something to remove last item from kill-ring
))
当我尝试使用 (interactive "r") 时,变量包含:
#("bla bla bla" 0 20 (fontified t))
当使用下面的函数时。
(defun Navi-region-reg (beg end)
(interactive "r")
(save-excursion (kill-ring-save (region-beginning) (region-end))
(defvar bla (car kill-ring))))
如何提取“bla bla bla”?仍然......另一个问题是我希望能够将单词添加到变量“bla”中。 (interactive "r") 是不可能的,对吧?
【问题讨论】:
-
也许添加评论为什么要 -1 问题...让我改进问题。
-
我没有给你-1。但是,关于改进:两次阅读您的问题后,我仍然没有完全意识到您要存档的内容。你说的列表到底是什么意思?也许只是举例说明你的函数应该如何表现。