![如何在 emacs 中设置设置标记的键绑定?](https://linux22.com/image/50219/%E5%A6%82%E4%BD%95%E5%9C%A8%20emacs%20%E4%B8%AD%E8%AE%BE%E7%BD%AE%E8%AE%BE%E7%BD%AE%E6%A0%87%E8%AE%B0%E7%9A%84%E9%94%AE%E7%BB%91%E5%AE%9A%EF%BC%9F.png)
我是 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)))