我是 emacs 新手,也是 lisp 新手
我正在尝试设置 Meta + 空格键来设置突出显示文本的标记(在当前光标位置)。在网上搜索并进行实验我最终得到了命令
(global-set-key (kbd "M-SPC") 'push-mark nil nil 1)
但上面的命令对我不起作用,我收到“参数数量错误”。
得到函数定义,
- 推动标记和可选位置 nomsg 激活
- 位置:nil 表示位置应默认为当前光标位置
- 规范:我不在乎(我认为)
- 启用:显然默认情况下这不是真的,所以我需要将其设置为......某事。
如何格式化命令以传递三个值?
该错误肯定是由于推送标记函数调用造成的,因为其他函数(例如向后字符(我没有向其传递输入))可以正常工作
答案1
您需要将参数传递给push-mark
,而不是global-set-key
:
(global-set-key (kbd "M-SPC") (lambda() (interactive) (push-mark nil nil 1)))