我可以在Emacs移动我的指针向上和向下一行与我的箭头键就好,所以我想重新定义C-N和C-p来上下移动在时刻5行。

我刚开始学习如何使用Emacs和elisp的是非常陌生的我。我尝试使用 GNU的Emacs Lisp参考,但我不能”吨找到如何击键绑定到多个命令。

下面就是我迄今为止(集中在向上移动的定义):

(global-set-key "\C-p"  '(loop for i in '(1 2 3 4 5) do ('previous-line))) 

但是,这时,我打C-P,带来了一个错误消息“错误的类型参数。”

任何建议?

谢谢!

有帮助吗?

解决方案

这些功能(我相信next-lineprevious-line)接受以C-U的optionnal说法,所以我认为(next-line 5)会做你想做的。

编辑:所以我只是尝试,这将是

(global-set-key (kbd "C-n")
    (lambda () (interactive) (next-line 5)))

和与C-p和previous-line相同。

(Fiew不能简单地与电话键盘^^一个textarea写码)

其他提示

根据我的emacs配置警告,并从彼得Ajtai的评论,我提出的版本,它使用从我forward-line

init.el
(global-set-key (kbd "C-n")
    (lambda () (interactive) (forward-line  5)))
(global-set-key (kbd "C-p")
    (lambda () (interactive) (forward-line -5)))

当然也有forward-char,工作原理相同,只是在不同的方向。

这缺少的唯一事情是,需要一个复杂的号码作为参数,并且可以在所有4个方向被用于导航一个complex-forward:P

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top