0

我正在编写一个函数来插入寄存器“N”。问题是当我插入寄存器时,它会将点放在插入的寄存器之前,而我希望该点位于我插入的任何寄存器之后。

我试图通过尝试set-command-mark( C-SPC) 两次,然后插入寄存器,然后弹出标记两次 ( C-u C-SPC*2) 来完成此操作。我想免费做这个宏,但问题是我不知道用什么论据来提供帮助set-command-mark。也许有人知道如何让它以这种方式工作,或者有更好的主意?

如果需要更多代码来说明案例:

(defun Navi-insert-register ()
 (interactive)
  (set-mark-command)
  (set-mark-command)
  (insert-register ?N)
 ...
)
4

1 回答 1

3

来自插入注册文档

通常将点放在插入的文本之前和标记之后。如果可选的第二个参数不为零,则将标记放在前面并指向后面。

只需将第二个参数作为t.

(defun Navi-insert-register ()
 (interactive)
 (insert-register ?N t)
)
于 2012-10-14T19:37:10.167 回答