【问题标题】:Finding unallocated key with emacs使用 emacs 查找未分配的密钥
【发布时间】:2010-09-07 23:23:25
【问题描述】:

我想出了一个 elisp 函数,并尝试将密钥与文件匹配。

(defun loadtopics() “加载 topic.org 文件” (交互的) (加载“../topics.org”)) (global-set-key (kbd "C-c C-a") 'loadtopics)

问题是很难找到未分配的组合键。

  • 有没有简单的方法可以找到未分配的组合键?
  • 您使用什么方法将密钥分配给您创建的 elisp 代码?
  • 是否可以分配多个控制键,即“C-c C-a C-b C-x”或类似的?

【问题讨论】:

    标签: emacs key elisp


    【解决方案1】:

    以C-c 字母 和F5 到F9 开头的序列保留给用户重新绑定。任何内置模式或 3rd 方包都不应覆盖这些,因此它们非常适合用户特定的全局键绑定。请参阅 emacs 手册中的Key Binding Conventions。

    【讨论】:

      【解决方案2】:

      如果您有一个额外的修饰键可用,例如 Mac 上的 option 或 PC 上的 Windows 键,您可以将其映射到 Emacs 中的“super”或“hyper”修饰符并使用它不用担心与任何内置序列发生冲突。例如,我的一些使用 super 的键映射包括:

      (global-set-key [(super s)] 'shell)
      (global-set-key [(super \\)] 'find-file-at-point)
      (global-set-key [(super meta p)] 'emms-pause)
      (global-set-key [(super ?!)] 'shell-command-with-?-expansion)
      

      最后一个是我编写的命令,其工作方式类似于 shell-command,只是它将命令文本中的问号扩展为当前缓冲区的完整路径,就像 dired-do-shell-command 一样。

      【讨论】:

        【解决方案3】:

        我一直想试试this elisp library。

        来自代码的注释:

        唯一的入口点是describe-unbound-keys'; it prompts for the maximum ;; complexity to allow, which should probably be at least 5 to find enough ;; keys to be worthwhile. Lisp may call justunbound-keys'来获取列表 ;;适合 `define-key' 的键表示。

        【讨论】:

          猜你喜欢
          • 2015-09-09
          • 2017-10-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多