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