Emacs的新功能,Emacs似乎没有正确解释我的密钥?

Ren*_*ger 2 emacs elisp

我是狂热的Vim用户.我的Vimrc计数超过800行.我是一个喜欢定制环境中每个部分的修补匠.Emacs似乎更容易配置.所以我试试Emacs.

如果要缩小,请按Emacs Cx C- +

它工作正常.但是我想重新缩小缩小,而不需要按Cx.所以只需按C- + ..我检查命令名称进行缩放,用

C-h (help) k (key) C-x C-+ (the key binding)
Run Code Online (Sandbox Code Playgroud)

然后我得到函数text-scale-adjust,带有 - as参数.

在我的.emacs文件中,我映射了这个:

(global-set-key (kbd "C-+") 'text-scale-adjust +)
Run Code Online (Sandbox Code Playgroud)

当我在Emacs中再次加载init文件时,C- +将无法工作.我在Emacs中再次启动时收到消息:

"符号的名称为变量无效:+"

我错了什么?

Dan*_*Dan 5

欢迎!我认为你正在使用evilVim模态编辑?

到目前为止,两个建议中的任何一个(摆脱+,或使用text-scale-increase)将适用于特定用例.所以,要么(global-set-key (kbd "C-+") 'text-scale-adjust)(global-set-key (kbd "C-+") 'text-scale-increase)将要工作.

更一般地说,如果你想将一个参数传递给函数,你可以将它包装成lambda如下:

(global-set-key (kbd "C-+") (lambda ()
                              (interactive)
                              (text-scale-increase 1)))
Run Code Online (Sandbox Code Playgroud)