2010-09-19 34 views
1

Elscreen有一个叫做elscreen-jump的方法,也有elscreen-jump-0elscreen-jump-9。我希望能够跳转到0到9之间的选项卡。我如何为此定义键盘映射?我已经试过:Emacs elscreen - 我如何跳转到编号标签

(global-set-key (kbd "M-1") (lambda() (interactive) (elscreen-jump 0))) 
(global-set-key (kbd "M-2") (lambda() (interactive) (elscreen-jump 1))) 

,但我得到一个错误:

Wrong number of arguments: (lambda nil "Switch to specified screen." (interactive) (let ((next-screen (string-to-number (string last-command-char)))) (if (and (<= 0 next-screen) (<= next-screen 9)) (elscreen-goto next-screen)))), 1 

任何想法?

+0

你可以分配匿名功能键吗?我认为他们必须被命名为功能,但我可能是错的。 @Stephen完全可以:例如: – hatmatrix 2010-09-19 19:10:31

+0

'(global-set-key(kbd“M-1”)(lambda()(interactive)(elscreen-goto 0)))' – MDCore 2010-09-19 19:12:51

+0

哦,甜蜜的...我每周都会学到一些关于Emacs的新东西。 – hatmatrix 2010-09-19 19:15:13

回答

2

看起来好像elscreen-jump不带任何参数,请尝试使用(elscreen-goto 3)来代替。

+0

如何使用它跳转到标签2,3等? – MDCore 2010-09-19 16:09:28

+0

@MDCore更新 – cobbal 2010-09-19 16:18:52

0

我相信这只是你的elscreen-prefix-key + 0,1,2 ......默认情况下,前缀密钥是C-z(所以,例如,C-z 0)。你可以自定义这个变量,但是如果你将它设置为“M”,这会改变很多东西。键绑定在elscreen.el

(defvar elscreen-map (make-sparse-keymap) 
    "Keymap for ElScreen.") 
(define-key elscreen-map "\C-c" 'elscreen-create) 
(define-key elscreen-map "c" 'elscreen-create) 
(define-key elscreen-map "C" 'elscreen-clone) 
(define-key elscreen-map "\C-k" 'elscreen-kill) 
(define-key elscreen-map "k" 'elscreen-kill) 
(define-key elscreen-map "\M-k" 'elscreen-kill-screen-and-buffers) 
(define-key elscreen-map "K" 'elscreen-kill-others) 
(define-key elscreen-map "\C-p" 'elscreen-previous) 
(define-key elscreen-map "p" 'elscreen-previous) 
(define-key elscreen-map "\C-n" 'elscreen-next) 
(define-key elscreen-map "n" 'elscreen-next) 
(define-key elscreen-map "\C-a" 'elscreen-toggle) 
(define-key elscreen-map "a" 'elscreen-toggle) 
(define-key elscreen-map "'" 'elscreen-goto) 
(define-key elscreen-map "\"" 'elscreen-select-and-goto) 
(define-key elscreen-map "0" 'elscreen-jump-0) 
(define-key elscreen-map "1" 'elscreen-jump) 
(define-key elscreen-map "2" 'elscreen-jump) 
(define-key elscreen-map "3" 'elscreen-jump) 
(define-key elscreen-map "4" 'elscreen-jump) 
(define-key elscreen-map "5" 'elscreen-jump) 
(define-key elscreen-map "6" 'elscreen-jump) 
(define-key elscreen-map "7" 'elscreen-jump) 
(define-key elscreen-map "8" 'elscreen-jump) 
(define-key elscreen-map "9" 'elscreen-jump-9) 
(define-key elscreen-map "\C-s" 'elscreen-swap) 
(define-key elscreen-map "\C-w" 'elscreen-display-screen-name-list) 
(define-key elscreen-map "w" 'elscreen-display-screen-name-list) 
(define-key elscreen-map "\C-m" 'elscreen-display-last-message) 
(define-key elscreen-map "m" 'elscreen-display-last-message) 
(define-key elscreen-map "\C-t" 'elscreen-display-time) 
(define-key elscreen-map "t" 'elscreen-display-time) 
(define-key elscreen-map "A" 'elscreen-screen-nickname) 
(define-key elscreen-map "b" 'elscreen-find-and-goto-by-buffer) 
(define-key elscreen-map "\C-f" 'elscreen-find-file) 
(define-key elscreen-map "\C-r" 'elscreen-find-file-read-only) 
(define-key elscreen-map "d" 'elscreen-dired) 
(define-key elscreen-map "\M-x" 'elscreen-execute-extended-command) 
(define-key elscreen-map "i" 'elscreen-toggle-display-screen-number) 
(define-key elscreen-map "T" 'elscreen-toggle-display-tab) 
(define-key elscreen-map "?" 'elscreen-help) 
(define-key elscreen-map "v" 'elscreen-display-version) 
(define-key elscreen-map "j" 'elscreen-link) 
(define-key elscreen-map "s" 'elscreen-split) 

而文件头还包含每个这些功能的简要说明。