2010-09-19 87 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) 

而文件頭還包含每個這些功能的簡要說明。