Function 如何在Emacs中创建类似寄存器的函数

Function 如何在Emacs中创建类似寄存器的函数,function,emacs,kill,Function,Emacs,Kill,我想使用kill环和寄存器的一些特性创建一个函数 基本上,我想创建一个新模式,在这个模式中,r后跟p应该把段落放在列表的点上(rw应该把单词放在列表的点上) 然后,我应该插入列表中的任何内容 这是我目前注册的内容: (defun Navi-register-region () (interactive) (copy-to-register ?N (region-beginning) (region-end)) ) 我对列表的历史记录不感兴趣,我只是希望它不断地用当前选定的字符串替换变量中的字符

我想使用kill环和寄存器的一些特性创建一个函数

基本上,我想创建一个新模式,在这个模式中,r后跟p应该把段落放在列表的点上(rw应该把单词放在列表的点上)

然后,我应该插入列表中的任何内容

这是我目前注册的内容:

(defun Navi-register-region ()
(interactive)
(copy-to-register ?N (region-beginning) (region-end))
)
我对列表的历史记录不感兴趣,我只是希望它不断地用当前选定的字符串替换变量中的字符串

EDIT:这就是我现在拥有的,尽管它会出错“错误的类型参数编号或标记”

当我尝试使用(
交互式“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))))

如何提取“blablabla”?不过……另一个问题是,我希望能够将单词at point添加到变量“
bla
”中。这在(
交互式“r”
)中是不可能的,对吗?

我花了很长时间,但它在这里(你自己额外的“注册/杀死戒指”:

并插入

(defun Navi-insert ()
 (interactive)
 (insert Navireg)
)

也许在问题-1中添加一条注释…让我改进问题。我没有给你-1。但是,关于改进:在阅读了你的问题两次之后,我仍然没有完全意识到你试图归档的内容。你所说的列表到底是什么意思?也许只是举一个例子说明你的函数应该如何运行。
(defun Navi-region-reg ()
  (interactive)
  (save-excursion (left-word 1)
          (mark-word) 
          (kill-ring-save (region-beginning) (region-end))
          (setq Navireg (substring-no-properties (car kill-ring)))
          (setq kill-ring (cdr kill-ring))))
(defun Navi-insert ()
 (interactive)
 (insert Navireg)
)