10
(global-set-key (kbd "<s-d>") 'duplicate-line)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECB MODE;;;;;;;;;;;;;;;;;;;;;
(global-set-key (kbd "<s-left>") 'ecb-goto-window-methods)
(global-set-key (kbd "<s-right>") 'ecb-goto-window-edit1)
(global-set-key (kbd "<s-down>") 'ecb-goto-window-history)
(global-set-key (kbd "<s-up>") 'ecb-goto-window-sources)
(global-set-key (kbd "<s-home>") 'ecb-goto-window-directories)

これは私の .emacs ファイルの一部です。キーを含むsuperキーの組み合わせをバインドしているときに、奇妙な問題に直面しています。関数をバインドするたびに、機能しsuper-key + <alphanumberic value>なくなります。
上記のファイルでは、以外のすべてのバインディング<s-d>が正常に機能しています。
Fedora 13でemacs 24.3を使用しています

4

3 に答える 3

10

マクロが非常に便利な理由は、kbdマクロに渡す引数が、キーバインディングについて尋ねたときに Emacs が教えてくれるものとまったく同じだからです。あなたは議論を推測していますが、それを行う必要はありません。

C-hk(または)を入力C-hcしてから問題のキー シーケンスを入力すると、Emacs はそのバインディングを説明するメッセージを表示します。この例では、スーパーキー + d を として記述しますs-d

(kbd "s-d")したがって、それを参照するために使用できます。

  • Emacs にキー シーケンスの説明を求める
  • 答えを差し込むkbd
于 2013-09-25T22:21:38.407 に答える
2

ここで機能するいくつかの選択:

(global-set-key [(super ?\ö)] 'ar-beginning-of-comment-atpt)

(global-set-key [(super ?\Ö)] 'ar-end-of-comment-atpt)

(global-set-key [(super p)] 'View-sroll-line-backward)

(global-set-key [(super s)] 'hs-hide-all)

(global-set-key [(super tab)] 'scroll-up)

(global-set-key [(super \{)] 'ar-brace-region-atpt)

(global-set-key [(super space)] 'ar-whitespace-to-minus)

(global-set-key [(super kp-4)] 'missing-py-variable-name-face-lp-1215791-test)
于 2013-09-25T06:22:47.713 に答える
2

これらはすべて. . . /lisp/term/ns-win.el

(define-key global-map [?\s-,] 'customize)
(define-key global-map [?\s-'] 'next-multiframe-window)
(define-key global-map [?\s-`] 'other-frame)
(define-key global-map [?\s-~] 'ns-prev-frame)
(define-key global-map [?\s--] 'center-line)
(define-key global-map [?\s-:] 'ispell)
(define-key global-map [?\s-?] 'info)
(define-key global-map [?\s-^] 'kill-some-buffers)
(define-key global-map [?\s-&] 'kill-this-buffer)
(define-key global-map [?\s-C] 'ns-popup-color-panel)
(define-key global-map [?\s-D] 'dired)
(define-key global-map [?\s-E] 'edit-abbrevs)
(define-key global-map [?\s-L] 'shell-command)
(define-key global-map [?\s-M] 'manual-entry)
(define-key global-map [?\s-S] 'ns-write-file-using-panel)
(define-key global-map [?\s-a] 'mark-whole-buffer)
(define-key global-map [?\s-c] 'ns-copy-including-secondary)
(define-key global-map [?\s-d] 'isearch-repeat-backward)
(define-key global-map [?\s-e] 'isearch-yank-kill)
(define-key global-map [?\s-f] 'isearch-forward)
(define-key global-map [?\s-g] 'isearch-repeat-forward)
(define-key global-map [?\s-h] 'ns-do-hide-emacs)
(define-key global-map [?\s-H] 'ns-do-hide-others)
(define-key global-map [?\s-j] 'exchange-point-and-mark)
(define-key global-map [?\s-k] 'kill-this-buffer)
(define-key global-map [?\s-l] 'goto-line)
(define-key global-map [?\s-m] 'iconify-frame)
(define-key global-map [?\s-n] 'make-frame)
(define-key global-map [?\s-o] 'ns-open-file-using-panel)
(define-key global-map [?\s-p] 'ns-print-buffer)
(define-key global-map [?\s-q] 'save-buffers-kill-emacs)
(define-key global-map [?\s-s] 'save-buffer)
(define-key global-map [?\s-t] 'ns-popup-font-panel)
(define-key global-map [?\s-u] 'revert-buffer)
(define-key global-map [?\s-v] 'yank)
(define-key global-map [?\s-w] 'delete-frame)
(define-key global-map [?\s-x] 'kill-region)
(define-key global-map [?\s-y] 'ns-paste-secondary)
(define-key global-map [?\s-z] 'undo)
(define-key global-map [?\s-|] 'shell-command-on-region)
(define-key global-map [s-kp-bar] 'shell-command-on-region)
;; (as in Terminal.app)
(define-key global-map [s-right] 'ns-next-frame)
(define-key global-map [s-left] 'ns-prev-frame)

以下は、US Apple 有線ミニ キーボードでの ctrl+opt+command+s の例です。

(define-key global-map (kbd "<M-C-s-268632083>") 'help-for-help)
于 2013-09-25T16:48:48.817 に答える