Existe-t-il un moyen de basculer entre les tampons sans avoir à parcourir la liste des tampons ou écrire le nom du tampon que je souhaite utiliser? Plus précis, je me demande si emacs peut onglet entre les tampons un peu comme la façon dont il fonctionne dans notepad ++Onglet Emacs entre les tampons
Répondre
Emacs 22.1 et supérieur supports la previous-buffer
(C-x <left arrow>
) et next-buffer
(C-x <right arrow>
) commandes.
Ces deux commandes peuvent être ajoutées à Emacsen plus ancien en utilisant this script.
y a-t-il aussi une commande pour basculer entre les plus récents? – starcorn
Oui, voyez la section 'Changer entre deux tampons récemment utilisés 'dans le premier lien de ma réponse. –
Je ne l'ai jamais fini à l'aide <droite> Cx ou C-< Cx droite > beaucoup, parce que je trouve lourd à répéter si je veux le cycle passé plus d'un tampon, donc je l'ai juste écrit quelques fonctions pour vous permettre de continuer à changer si la dernière commande était également une commande next/previous-buffer
-next/previous-buffer
avec < C-droite > et < C-gauche >.
par exemple. C-x < C-gauche > < C-gauche > < C-gauche > < C-droite > < C-gauche > prendriez-vous revenir trois tampons, avant un, et en arrière à nouveau.
J'ai fait l'hypothèse que < C-gauche > & < C-droite > sont généralement liés à forward/backward-word
, et vous appelle ceux qui sont explicitement comme serveur par défaut.
(defun my-forward-word-or-buffer-or-windows (&optional arg)
"Enable <C-left> to call next-buffer if the last command was
next-buffer or previous-buffer, and winner-redo if the last
command was winner-undo or winner-redo."
(interactive "p")
(cond ((memq last-command (list 'next-buffer 'previous-buffer))
(progn (next-buffer)
(setq this-command 'next-buffer)))
((memq last-command (list 'winner-redo 'winner-undo))
(progn (winner-redo)
(setq this-command 'winner-redo)))
(t ;else
(progn (forward-word arg)
(setq this-command 'forward-word)))))
(defun my-backward-word-or-buffer-or-windows (&optional arg)
"Enable <C-left> to call previous-buffer if the last command
was next-buffer or previous-buffer, and winner-undo if the last
command was winner-undo or winner-redo."
(interactive "p")
(cond ((memq last-command (list 'next-buffer 'previous-buffer))
(progn (previous-buffer)
(setq this-command 'previous-buffer)))
((memq last-command (list 'winner-redo 'winner-undo))
(progn (winner-undo)
(setq this-command 'winner-undo)))
(t ;else
(progn (backward-word arg)
(setq this-command 'backward-word)))))
(global-set-key (kbd "<C-left>") 'my-backward-word-or-buffer-or-windows)
(global-set-key (kbd "<C-right>") 'my-forward-word-or-buffer-or-windows)
(j'utilise Icicles pour la commutation de tampon, moi-même, mais ...)
Si vous voulez répéter la commande précédente un certain nombre de fois, il suffit d'utiliser ... zzzzzz Cx dans ce cas, par exemple, gauche Cx ... zzz Cx
Si c'est trop lourd, se lier (next|previous)-buffer
à d'autres, les clés reproductibles, comme d'autres l'ont suggéré.
Mais les clés répétables sont très demandées. Si vous ne voulez pas en perdre, vous pouvez même mettre de telles commandes sur une touche de préfixe, de sorte que, par exemple, vous pouvez faire, par exemple, Cx gauche gauche gauche ... Voici un truc pour le faire (tiré de le Bookmark+ code):
(defun my-repeat-command (command) "Repeat COMMAND." (let ((repeat-message-function 'ignore)) (setq last-repeatable-command command) (repeat nil))) (defun my-next-whatever-repeat (arg) ; `C-x right' "Jump to the Nth-next whatever. N defaults to 1, meaning the next whatever. Plain `C-u' means start over at the first whatever (and no repeat)." (interactive "P") (require 'repeat) (my-repeat-command 'next-whatever)) (define-key ctl-x-map [right] 'my-next-whatever-repeat
- 1. comment obtenir focus-suit-souris sur les tampons dans emacs?
- 2. emacs peut invoquer shell et exécuter des commandes - peuvent-ils agir sur les tampons Emacs?
- 3. Afficher les onglets pour les tampons en carbone emacs?
- 4. Noms de tampons illisibles dans Emacs 23.2
- 5. Pin tampons Emacs à windows (pour cscope)
- 6. Numéros de ligne dans tous les tampons emacs
- 7. Les tampons collaboratifs Emacs s'ouvrent dans le mauvais mode
- 8. Emacs: rouvre les tampons de la dernière session au démarrage?
- 9. Onglet entre les champs dans TableViewer
- 10. Ajout d'images/surlignage/etc aux tampons emacs via le balisage
- 11. Comment arrêter le mode emacs dired d'ouvrir autant de tampons?
- 12. Je n'ai pas besoin d'être sauvé. Comment garder les tampons Emacs en synchronisation avec les fichiers?
- 13. Exécution Emacs à distance entre plusieurs machines
- 14. Onglets Vim et tampons
- 15. Existe-t-il un moyen de fermer automatiquement les tampons d'achèvement de fichier dans Emacs?
- 16. elisp recherche regexp dans les chaînes, pas les tampons
- 17. Onglet complet avec KSH en mode Emacs sans bindings
- 18. Emacs mode Clojure onglet-indentation énorme dans certains cas
- 19. C# Comment onglet par programme entre les contrôles
- 20. Flex: Impossible onglet entre les contrôles sur une fenêtre modale
- 21. Comment utiliser les tampons de protocole?
- 22. Impossible de se déplacer entre les écrans dans Emacs
- 23. emacs navigue entre accolades dans les blocs if else
- 24. Emacs: Souvent, basculer entre Emacs et l'éditeur de mon IDE, comment "synchroniser" automatiquement les fichiers?
- 25. Recherche/Grep dans tous les tampons VI
- 26. MASM comparer les tampons non initialisées
- 27. Aller intégration avec les tampons de protocole?
- 28. DTrace: comment imprimer les tampons mémoire
- 29. Emacs fusion des tampons en un seul sans utiliser CX1 keybind
- 30. EmacsW32 renomme les tampons avec les anciens noms de fichiers raccourcis Windows
Cette question est également demandé (et des réponses différentes) sur le super-utilisateur: http://superuser.com/questions/208871/emacs-tab-between-buffers – jwernerny
J'ai essayé beaucoup , et finalement arrêté sur un simple paquet iflip http: //www.emacswiki.org/emacs-ja/iflipb Au fil du temps, vous découvrirez qu'il n'y a guère de meilleure commutation que "C-x b" + mode ido – VitoshKa