Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Emacs 用参数定义键绑定_Emacs_Elisp - Fatal编程技术网

Emacs 用参数定义键绑定

Emacs 用参数定义键绑定,emacs,elisp,Emacs,Elisp,我想将C-f C-b映射为在一个文件中向前和向后移动固定数量的行 我这样做: (global-set-key (kbd "C-f") 'next-line) (global-set-key (kbd "C-b") 'previous-line) 但是我不知道如何在下一行命令之前指定参数。我想我应该使用数字参数,但我无法以正确的方式编写命令。可能的替代方法之一是定义一个新函数: (defun my-next-line () (interactive) (next-line 5)) (g

我想将C-f C-b映射为在一个文件中向前和向后移动固定数量的行

我这样做:

(global-set-key (kbd "C-f") 'next-line)
(global-set-key (kbd "C-b") 'previous-line)

但是我不知道如何在
下一行
命令之前指定参数。我想我应该使用
数字参数
,但我无法以正确的方式编写命令。

可能的替代方法之一是定义一个新函数:

(defun my-next-line ()
  (interactive)
  (next-line 5))

(global-set-key (kbd "C-f") 'my-next-line)
否则,如果这只是你可以用键盘完成的事情,你可能会想用键盘

M-x name-last-kbd-macro
并将其保存在.emacs文件中

M-x insert-kbd-macro
并让emacs为您实现该功能。
它只会得到您在调用最后一个kbd宏时给出的名称

您将问题改为如何直接绑定到键序列

这将C-cl与C-u5c-n结合


ok this(全局设置键(kbd“C-f”)’(lambda()(交互式)(前进行5))的可能重复工作。虽然它不能完全回答我的问题,但我如何在不使用lambda的情况下绑定M-5 C-n或更复杂的宏,我可能缺少一些关于elisp工作的基本知识…我不知道insert宏,这非常有用。谢谢,我已经用字符串参数尝试过了,但不要忘记引号(就像我第一次做的那样)。谢谢:)很好,我不知道。非常感谢您的提示。这是一种添加新键绑定的好方法,当您已经知道击键并删除命名宏的步骤时。
(global-set-key (kbd "C-c l") (kbd "C-u 5 C-n"))