Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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_Key_Elisp - Fatal编程技术网

使用emacs查找未分配的密钥

使用emacs查找未分配的密钥,emacs,key,elisp,Emacs,Key,Elisp,我提出了一个elisp函数,并尝试将密钥与文件匹配 (defun loadtopics () "Load the topics.org file" (interactive) (load "../topics.org")) (global-set-key (kbd "C-c C-a") 'loadtopics) (定义加载主题() “加载topics.org文件” (互动) (加载“./topics.org”)) (全局设置键(kbd“C-C-a”)“加载主题) 问题是很难找到未分配

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

(defun loadtopics () "Load the topics.org file" (interactive) (load "../topics.org")) (global-set-key (kbd "C-c C-a") 'loadtopics) (定义加载主题() “加载topics.org文件” (互动) (加载“./topics.org”)) (全局设置键(kbd“C-C-a”)“加载主题) 问题是很难找到未分配的键组合

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

以C-C字母和F5到F9开头的序列保留给用户重新绑定。任何内置模式或第三方软件包都不应覆盖这些模式或第三方软件包,因此它们非常适合于用户特定的全局密钥绑定。请参阅emacs手册。

如果您有一个额外的修改器键可用,如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命令
,只是它将命令文本中的问号扩展到当前缓冲区的完整路径,就像
dired do shell命令
一样。

我一直想尝试一下

从代码的注释中:

唯一的入口点是
描述未绑定键';它会提示输入最大值
;; 允许的复杂性,可能至少需要5才能找到足够的
;; 钥匙是值得的。Lisp可以只调用
unboundkeys'来获取 ;; 适用于“定义键”的键表示