2010-09-19 16 views
1

Elscreen a une méthode appelée elscreen-jump ainsi que elscreen-jump-0 et elscreen-jump-9. J'aimerais pouvoir passer aux onglets entre 0 et 9. Comment définir une table de touches pour cela? J'ai essayé:Emacs elscreen - comment passer aux onglets numérotés

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

mais je reçois une erreur:

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 

Toutes les idées?

+0

Pouvez-vous attribuer des touches de fonctions anonymes? Je pensais qu'ils devaient être nommés fonctions, mais je peux me tromper. – hatmatrix

+0

@Stephen vous pouvez totalement: par exemple. '(global-set-key (kbd" M-1 ") (lambda() (interactif) (elscreen-goto 0)))' – MDCore

+0

Oh, doux ... J'apprends quelque chose de nouveau sur Emacs chaque semaine. – hatmatrix

Répondre

2

Il semble que si elscreen-jump ne prend aucun argument, essayez d'utiliser le (elscreen-goto 3) à la place.

+0

Comment l'utiliser pour passer aux onglets 2, 3, etc. – MDCore

+0

@MDCore mis à jour – cobbal

0

Je crois que c'est juste votre elscreen-prefix-key + 0, 1, 2, ... Par défaut, la clé de préfixe est C-z (par exemple, C-z 0). Vous pouvez personnaliser cette variable, mais si vous la définissez sur "M", cela changera beaucoup de choses. Les raccourcis clavier sont 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) 

Et l'en-tête du fichier contient également de brèves explications de chacune de ces fonctions.