Questions tagged «key-bindings»

键盘快捷键,和弦,键序列,热键或Emacs中按键组合和相应操作之间的任何关联。

17
如何快速切换缓冲区?
在香草Emacs中,我必须做C-x b,然后手动键入要切换的缓冲区名称。如果忘记了缓冲区的名称,则必须点击TAB以列出可能的补全。我可以做些什么来加快此过程的速度吗?

4
如何找出一个键绑定在哪个键映射中?
我已在中弹回'd'键gnus-article-mode,但是当该点位于附件上时,它的旧行为仍然有效。我可以看到rebinding并没有在那里生效C-h k d,但是它并没有告诉我那时什么键盘映射是有效的,因此我可以重新绑定它。 有办法找到答案吗? 这是一个精确的示例:我正在使用邪恶,并且希望文章处于运动模式。对于我的键盘布局,我将“ d”配置为向上键。 (evil-mode 1) (add-to-list 'evil-motion-state-modes 'gnus-article-mode) (setq evil-emacs-state-modes (remove 'gnus-article-mode evil-emacs-state-modes)) (define-key evil-motion-state-map "d" 'evil-previous-line) 为了确保考虑到邪恶键,我在本地地图中未设置gnus键: (defun as/alter-article-evil-map () (local-unset-key "d")) (add-hook 'gnus-article-mode-hook 'as/alter-article-evil-map) 不幸的是,当该点位于附件上时,“ d”键不再向上,但是它可以让我删除附件。我猜想那时还有其他绑定处于活动状态,因此是个问题。 解决方案我使用keymaps-at-point下面的方法从文本属性中找到使用的键盘映射。然后,我查看了绑定函数的代码以查找键映射的名称gnus-mime-button-map。以下代码实现了我想要的功能: (defun as/alter-article-evil-map () (define-key gnus-mime-button-map "d" nil)) (add-hook 'gnus-article-mode-hook 'as/alter-article-evil-map)

4
如何覆盖主要模式绑定
有时,我的全局键绑定被主要模式覆盖。一个简单的例子是我的init文件中的以下设置 (global-set-key (kbd "C-j") 'newline-and-indent) 但是,令人讨厌的是,这种键绑定被暂存缓冲区的默认模式“ Lisp Interaction”主要模式隐藏了。 当我发现自己处于主要模式(或次要模式)隐藏全局键绑定的情况时,如何找回它? 注:我的问题是不是“我怎样才能绑定C-j到newline-and-indent‘?模式’” Lisp的互动 我对一个更通用的答案感兴趣,该答案关于如何处理因某些主要/次要模式而被隐藏的冲突或用户键绑定的键映射。


4
显示未绑定的密钥
我想为头盔的新用法定义惊人的键绑定,令人惊叹的模式btw,并且我想做到这一点而不覆盖其他键的用法。我意识到不同键组合的数量是无限的,但是有什么方法可以看到所有未定义的键绑定,例如1级深度? 例如,我想知道在点击后可以使用哪些键绑定C-c,然后获取带有清单的缓冲区C-c some_keys。 假设此功能目前不存在?

3
使用终端时的绑定问题
我在以下行中init.el: (global-set-key [(control \;)] 'comment-region) 它在GUI窗口中效果很好,但是如果emacs使用该-nw选项调用,C-;则不注释区域,仅插入;字符。M-x comment-region RET工作正常。 我尝试按照类似的问题回答此问题,但C-q C-;只返回了,;而我显然不想裸露;。 如何达到理想的效果?

4
如何模拟Elisp的任意按键事件?
是否可以从elisp模拟任意键事件?我知道可以找到给定键的绑定,然后以交互方式调用该命令的方法,但是如果该键事件未绑定到命令怎么办? 举一个例子,如果我想绑定C-`以在所有上下文中与ESC键表现相同,该怎么办?

3
如何在helm-find-files中按<RET>打开目录?
当我运行#'helm-find-files,然后将&lt;ret&gt;指针移到目录时,按会导致以Dired模式打开该目录。必须按下C-j才能在Helm中输入该目录。 我想像这里一样&lt;RET&gt;行事C-j,但不一定要在其他地方行事。我检查了,并C-j绑定到#'helm-maybe-exit-minibuffer,而&lt;RET&gt;绑定到#'helm-execute-persistent-action。绑定&lt;RET&gt;到#'helm-maybe-exit-minibuffer适用于这种情况,但会破坏其他情况:例如,中的舵自动完成describe-function。 因此,当使用Helm查找文件时,如何&lt;RET&gt;在Helm中按打开该目录?

1
如何区分TAB与Ci?
通常,出于历史原因,emacs将TAB密钥代码和C-i密钥视为相同,参见cf。有关功能键的emacs lisp文档或abo-abo关于“ TAB和?有什么区别?”问题的答案 。 注:在这篇文章中,键编码是TAB,&lt;tab&gt;和C-i; 另一方面tab,Ctrl+ 和+ i是键盘上的物理键。 但是,此刻,emacs将TAB和C-i视为相同,即(equal (kbd "TAB") (kbd "C-i"))-&gt; t。 但是,由于我们不再生活在计算的困境中,所以我发现这非常烦人。有一些建议可以解决此问题,例如 “如何在不更改TAB的情况下将命令绑定到Ci?” Trey的解决方案不适用于我,该变量local-function-key-maps未更改。对其进行修改以使用delete而不是delq修改后的变量,但不会带来resolve ... tab和Ctrl+ i仍然相同。 转换为超级地图似乎是1980年代的解决方法...我可能也想使用Hyper+ i。 input-decode-mapCtrli我正在寻找使用+ 将+ 映射到一些后ASCII控制代码。除了不能与kbd宏一起正常工作外,这意味着必须修改将绑定Ctrl+ 的源代码的所有位i。考虑到所有源代码均已正确修改,这可以说是最好的解决方案。 采用(kbd "&lt;tab&gt;")了tab和(kbd "C-i")(这相当于(kbd "TAB")即在\t字面)为Ctrl+ i 做的工作,但你不得不修改所有这些使用了错误类型的源文件tab[阅读:键码TAB]这是烦人。 例如在github问题和emacs.sx中都提出了这个建议。 这些解决方案都不是真正的解决方案,我宁愿考虑它们(现有bug)的变通办法或黑客手段。 有没有办法强制 emacs映射tab到(kbd "&lt;tab&gt;")和,(kbd "TAB")而Ctrl+ i被映射为(kbd "C-i")缺少对emacs源代码的修改呢? 这种做法应该是在用户完全不可见,这意味着tab像键码&lt;tab&gt;,并TAB应该映射到一个而结合Ctrl+ i类似的键码C-i应该映射到另一个结合。 不太严重的一点是:这里的任何emacs开发人员可以评论是否会在某个时候在emacs源代码中对其进行更改/修复?

2
是否可以通过按键插入正确的`(kbd“…”)`?
我无聊查找该kbd功能的键名,有没有一种方法只需按一下键即可自动插入正确的键名? 因此,例如,我想要执行以下操作:我正在输入 (local-set-key | 我跑步magical-insert-kbd-command,按f6键,我得到 (local-set-key (kbd "&lt;f6&gt;") |

7
指向“快速查看”键的点预览文件
我想创建一个函数,对指向下方向的文件进行“快速查看”。 我想要的工作方式是按住一个功能键,然后使该文件在缓冲区中可见,但是当我松开该键时,缓冲区将关闭并且干缓冲区将返回。 我不想用关闭临时缓冲区 C-x k。 有没有办法在Emacs中实现此功能?如果可以将功能绑定到按键/按下,这似乎是可能的。

2
关于使用Cx或Cc作为前缀键的约定
什么是使用的约定C-x,C-c或者M-作为前缀键? 例如:是C-x等用于保存或访问缓冲区吗?是C-c等用于文本编辑吗? 背景 也许这是一个愚蠢的问题。我使用西班牙语键盘,有时会重新定义英语(QWERTY)键盘常用的键绑定。例如:shell命令在原始Emacs中绑定到M-!。我将其绑定到M-¡,因为M-!是M-shift-1,我无法轻易按下。我想知道在进行此类更改时是否存在我要超越的约定

1
跳到函数的开头然后回到当前点的最佳(最小击键)方法?
有时我在一个长函数中,该函数的开始不可见。我最近了解到(which-function-mode)在modeline中哪个告诉我函数的名称,但我希望能够快速跳转到函数的开头,然后尽可能轻松地返回。 到目前为止,我已经找到了两种解决方案。 使用标记 C-SPC 标记当前点 C-M-a 向后移动以启动功能 C-x C-x 与当前点交换标记(跳回来) C-g 取消标记区域 使用寄存器 C-x r SPC p 将当前点保存在寄存器“ p”中 C-M-a 向后移动以启动功能 C-x r j p 跳转到寄存器“ p”中保存的点 有没有更好的办法?我不反对在.emacs文件中添加一些省略号。

1
TAB和<tab>有什么区别?
当我进入定义触发键的部分时,我正在阅读Yasnippet模式的文档: 似乎Yasnippet次要模式使用以下命令定义了TAB要运行的密钥yas-expand: (define-key yas-minor-mode-map (kbd "&lt;tab&gt;") 'yas-expand) (define-key yas-minor-mode-map (kbd "TAB") 'yas-expand) &lt;tab&gt;和之间有什么区别TAB?(我试图用谷歌搜索,但找不到清晰的描述)

4
在Linux中的emacs -nw中使用Super
我一直在努力寻找答案的简单而直接的问题,因此我决定在这里提问。 问:有什么方法可以在Linux终端中启动的Emacs中使用Super? PS:我阅读了很多有关的信息,xmodmap但我认为关键是终端仿真器无法表示超级键。但是,(kbd "s-SPC")返回了一些内容,因此我想使用的翻译工具.Xdefaults/X。我在正确的道路上吗?给定的结果kbd,我需要将什么作为XTerm.VT100.translations放置?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.