如何将<print screen =“”>绑定到emacs中的宏?</print>

时间:2010-06-23 17:01:17

标签: emacs elisp key-bindings

我希望能够在emacs中点击<Print Screen>并在git存储库中触发提交。我的口齿不清是生锈的,知道这已经坏了,但不知道在哪里:

( defun tip-local-write nil "Write to store" ( interactive )
     ( save-buffer )
     ( change-directory "~/tip" )
     ( shell-command "git commit -m checkpoint ." )
     ( shell-command "git submodule foreach git commit -m checkpoint . \\\|\\\| true" ) ) )
( global-set-key [?\M-1] 'tip-local-write )

目前它绑定到^ 1,因为我不知道如何表示<Print Screen>按钮。

3 个答案:

答案 0 :(得分:2)

一种通用技巧,用于绑定您不知道Emacs名称的击键:

  • 点击M-x global-set-key RET <your keystroke> RET <name of function>

然后,点击 C-x ESC ESC (即repeat-complex-command)。在迷你线程中,您应该看到一个全局设置键函数调用,您可以将其复制到.emacs文件中。

答案 1 :(得分:2)

您可以使用

获取打印屏幕键
(kbd "<print>")

至于实际提交,使用emacs提供的版本控制功能可能要容易得多:

(vc-git-checkin "." nil "checkpoint")

答案 2 :(得分:0)

你需要先运行它:

(w32-register-hot-key [snapshot])

之后,你可以这样做:

(global-set-key [snapshot] 'tip-local-write )