我正在尝试编写行复制函数。我必须保持光标位置。这是 .emacs 文件中的代码:
(defun line-duplicate
"line duplication."
(setq position (point)) ;Store the original position of cursor
(global-set-key "\C-d" "\C-a\C-k\C-k\C-y\C-y")
(goto-char position) ;move the cursor to original position
)
(line-duplicate)
但是,出现了一些错误。有什么错误吗?
编辑
刚刚发现命令执行函数:
(defun line-duplicate ()
(interactive)
(setq position (point))
(command-execute (kbd "C-a C-k C-k C-y C-y"))
(goto-char position)
)
(global-set-key (kbd "C-d") 'line-duplicate)
这成功了。
最佳答案
global-set-key
采用两个参数:KEY
和 COMMAND
。 COMMAND
不是一个按键序列,它是一个函数(通常它是一个命名可交互调用函数的符号,文档说)。您可能不想在调用函数时更改 C-d 的行为,而是希望将函数绑定(bind)到键。
关于emacs - emacs 的行重复代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12644717/