如何使用Emacs向上或向下移动指针?

Pet*_*tai 15 emacs binding elisp keystrokes

我可以用Emacs中的箭头键将我的指针上下移动一行,所以我想重新定义Cn和Cp,一次上下移动5行.

我刚开始学习如何使用Emacs,而elisp对我来说非常陌生.我尝试使用 GNU Emacs lisp参考,但我找不到如何将键击绑定到多个命令.

这是我到目前为止所做的事情(专注于提升定义):

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

但是,当我点击Cp时出现错误信息,"错误的类型参数".

有什么建议?

谢谢!

p4b*_*bl0 18

那些函数(我相信next-lineprevious-line)接受Cu的选项参数,所以我认为这(next-line 5)会做你想要的.

编辑:所以我只是尝试了,那就是

(global-set-key (kbd "C-n")
    (lambda () (interactive) (next-line 5)))
Run Code Online (Sandbox Code Playgroud)

和Cp一样previous-line.

(用电话键盘在textarea中编写代码并不简单^^)

  • 是! 谢谢.我最后使用(下一行-5)用于之前,因为在手册中它说"如果你想在Lisp程序中使用它,考虑使用带有负参数的`forward-line'.通常更容易使用和更可靠(不依赖于目标栏等)." (3认同)