我想使用 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"
对吧?