Comment changer rapidement de fenêtre?
J'ai souvent plusieurs fenêtres ouvertes et j'ai besoin de basculer entre elles. En ce moment, j'utilise C-x o
pour arriver à celui que je veux. Existe-t-il un flux de travail plus efficace pour cela?
window
cycling
navigation
Sibi
la source
la source
Réponses:
Je préfère évidemment as-window pour cela. Vous pouvez basculer entre les fenêtres et les cadres visibles. C'est dans MELPA, vous pouvez l'installer rapidement. La seule chose à faire est de le lier:
Vous pouvez également utiliser un accord de clé plus court, car le changement de fenêtre est une tâche courante:
Résumé de
ace-window
C'est un remplacement instantané pour
other-window
. Contrairement à ce dernier, il n'est jamais nécessaire d'appelerace-window
deux fois ou plus pour sélectionner une fenêtre: vous sélectionnez la fenêtre de votre choix lors d'un appel (éventuellement sur plusieurs cadres).En plus de changer de fenêtre, vous
ace-window
pouvez en faire plus (supprimer ou changer de fenêtre, etc.), voir le fichier LISEZMOI .la source
ace-window
puis vuswitch-window
qui semble faire à peu près la même chose, sauf que les lettres sont plus prononcées. semble drôle nous avons les deux forfaits.switch-window
avant de me soumettreace-window
à MELPA.ace-window
, il a plus de personnalisation que d'autres paquets, je suppose. Néanmoins, l’on pourrait peut-être aider à l’avenir si l’on souhaite associer une fonction qui ressemblerait à l’action d’échange intelligent, mais grignoterait cette fenêtre, ce qui donnerait une fenêtre plus grande au point et une fenêtre choisie de taille plus petite fenêtre vers le haut). Le rapport doit être déterminé dans ce cas comme un demi, un quart ou un tiers.Une façon est d'utiliser
windmove
. Avec ses raccourcis clavier par défaut, il permet de basculer vers la fenêtre à côté de la fenêtre active.Il est construit dans Emacs, il n’est donc pas nécessaire d’installer quoi que ce soit; activez-le simplement avec la configuration minimale suivante dans votre fichier init:
Vous pouvez ensuite passer aux fenêtres voisines en utilisant les touches suivantes (où la flèche utilisée définit intuitivement la direction dans laquelle vous vous déplacez):
S-<left>
,S-<right>
,S-<up>
,S-<down>
.Si vous préférez utiliser un autre modificateur au lieu de shift, vous pouvez le fournir comme argument
windmove-default-keybindings
. Par exemple:ou
Plus d'infos sur Emacs Wiki .
la source
(windmove-default-keybindings 'meta)
comme suggéré sur EmacsWiki.Shift-arrow
) , mais quand vous avez un grand moniteur avec beaucoup de scissions, un tel mouvement devient rapidement difficile à manier. Il serait plus intéressant d’énumérer les fenêtres / scissions. Commeace-window
, mais avec moins de pressions sur les touches et un algorithme évident pour déterminer immédiatement le nombre souhaité.Vous pouvez vous connecter
other-window
à une séquence de clé plus facile à saisir.Par exemple, je suis
C-.
lié àother-window
, etC-,
lié à aller à la fenêtre précédente.Ceci est particulièrement utile pour déplacer plusieurs fenêtres. une fois que vous maintenez la touche Control enfoncée, il vous suffit d'appuyer sur un seul bouton pour passer à la fenêtre suivante. C'est beaucoup plus facile que trois pressions de touches par coup.
la source
C-x o
pourother-window
est l'un des rares prétendants au titre de "pire raccourci emacs par défaut". Ma solution (similaire à ZCK) était de lier de nouveauother window
à une séquence de touches plus facile (chemin) - je l' ai lié àC-;
(et monCaps-Lock
est échangé avecCtrl
donc tout ce qu'il faut est un robinet rapide des petits doigts). Btw, je suis totalement dépendant de certaines fonctionnalités dehelm
eticicles
(c.-à-d., Je ne suis pas "anti-packages" ou quoi que ce soit); Je pense juste qu'une solution simple fonctionne mieux ici.M-o
pourother-window
. Certains modes ont déjàM-o
liaison, notammentdiff-mode
,ggtag-mode
etibuffer-mode
. Vous devez le dissocier manuellement dans chaque mode.unbind-key
fourni parbind-key.el
est très utile.M-o
aussi, et aiM-O
liéace-window
pour quand j'ai besoin de la puissance supplémentaire.fenêtre-numérotation.el!
J'attribue le raccourci clavier ", 1", ", 2", ", 3" pour changer de fenêtre (veuillez noter que j'utilise le mode maléfique)
De plus, le numéro de la fenêtre est affiché sur la ligne de mode en couleur PINK, souligné.
C'est un indice visuel que vous ne pouvez jamais ignorer,
C'est le moyen le plus rapide de changer de fenêtre.
vérifier https://github.com/redguardtoo/emacs.d/blob/master/lisp/init-evil.el et https://github.com/redguardtoo/emacs.d/blob/master/lisp/init-modeline .el pour ma configuration.
Sylvain Benner a adopté mon idée dans spacemacs mais les combinaisons de touches sont différentes . Donc, si vous utilisez des spacemacs, vous obtenez immédiatement la solution la plus rapide.
la source
window-number
avecM-<num>
pour changer rapidement de fenêtres b / w. Concept similaire à celui-ciSans utiliser de module complémentaire, vous pouvez continuer à utiliser
C-x o
un préfixe facultatif pour ignorer autant de fenêtres. Ex.:C-u 1 C-x o
Ira à la fenêtre suivante dans l’ordre (c’est-à-dire ce que vous obtiendrez avec plainC-x o
),C-u 2 C-x o
passe deux fenêtres plus,C-u 3 C-x o
trois fois et ainsi de suite.Un extrait de la
other-window
docstring (la fonction appelée parC-x o
:la source
Certaines personnes se souviendront peut-être de l'éditeur Brief (assez curieusement produit par une société appelée Underware).
Il y avait un moyen intéressant de basculer entre les fenêtres visibles. La flèche M déplacerait le curseur dans la fenêtre directement dans l'alignement de la direction de la touche fléchée.
Donc, je cartographié les
winmove-left
,winmove-right
,winmove-up
etwinmove-down
fonctionsM-left
,M-right
,M-up
et lesM-down
touches comme suit dans mon fichier .emacs -Maintenant, je peux passer facilement d’une fenêtre à l’autre, quelle que soit l’encombrement de ma configuration.
la source
(windmove-default-keybindings 'meta)
!Si vous utilisez Icicles puis
C-x o
permet de sélectionner les fenêtres par nom (ou en faisant du vélo).Sans préfixe arg,
C-x o
est identique à l’habitude, àother-window
moins que le cadre n’ait qu’une seule fenêtre, auquel cas c’est le casother-frame
.Avec un préfixe arg,
C-x o
est une commande multiple qui vous permet de naviguer entre les fenêtres ou les cadres par nom (ou par cycle). La navigation entre les fenêtres utilise plusieurs commandesicicle-select-window
. navigation parmi les utilisations de cadresicicle-select-frame
.La navigation utilisée dépend du préfixe arg:
Zéro préfixe arg (par exemple
C-0
): Si le cadre sélectionné a plusieurs fenêtres, il en est ainsiicicle-select-window
, les fenêtres se trouvant dans le même cadre que les candidats. Sinon (cadre à fenêtre unique), c’esticicle-select-frame
.C-u
: Si le cadre sélectionné a plusieurs fenêtres, il en est ainsiicicle-select-window
, les fenêtres de tous les cadres visibles étant candidates. Sinon, c'esticicle-select-frame
.C-u C-u
:icicle-select-window
, avec des fenêtres de tous les cadres en tant que candidats (y compris les cadres iconifiés ou cachés).Comme toujours dans Icicles , vous pouvez combiner (a) l' achèvement , la saisie de texte pour limiter l'ensemble des candidats correspondant (noms de fenêtre ou de cadre, dans ce cas), avec (b) le cyclisme (parmi les candidats correspondant).
la source
Pensez à utiliser un accord clé pour sauter rapidement entre les fenêtres. Je trouve cela beaucoup plus rapide que de chercher une touche de modification (et de moins forcer mes mains également).
Mon choix de paquet à utiliser est
ace-window
, ce qui vous permet de naviguer plusieurs fenêtres plus facilement que justeother-window
.Il est évident que d'utiliser ce dont vous avez besoin
key-chord
etace-window
, les deux sont disponibles en Melpa.la source
ace-window
fait le travail comme dans la réponse de @ abo-abo. Il me semble que, dans ce contexte, la combinaison de touches à utiliser aurait plus de sens comme commentaire plutôt que comme réponse. Juste mes deux cents.key-chord
permet de relier des combinaisons de touches très accessibles. La liaison d'exemple dexo
est plus rapide queC-x o
(profondeur de un contre deux). Cette réponse pourrait être reformulée de manière à souligner que la réponse est orthogonale aux autres réponses sur la sélection de fonction (et qu’elleace-window
n’est qu’un des nombreux choix pouvant être liés de la manière décrite). Gardez cette réponse distincte!Quelques bonnes réponses ici, je suis aussi un fan de WinMove, mais je le lie à C- car le mode org utilise M- pour manipuler les en-têtes.
Là où ça devient vraiment bon, c'est si vous le combinez avec Hydra . En suivant les exemples sur leur wiki, j'ai créé mon propre monstre:
Cela me permet de changer de fenêtre, de le redimensionner, de déplacer les tampons de fenêtre en fenêtre, de faire défiler les tampons, de tuer les tampons et même d'annuler les configurations de fenêtre via le mode gagnant, et intègre également la barre. Pour quitter l'hydre, appuyez simplement sur la flèche ou sur une autre touche ne se trouvant pas dans l'hydre. Vous pouvez trouver les fonctions "hydra-move" sur les exemples d'hydra. L'atout majeur de l'hydra est que je n'ai pas à me souvenir de tous ces raccourcis clavier et de son "confort", donc une fois que vous êtes dans l'hydra, tout est disponible sous forme de clé unique. presse.
la source
(windmove-default-keybindings 'control)
:Si vous utilisez
evil-mode
, vous pouvez simplement utiliser un préfixe numérique avecC-w C-w
(evil-window-next
) pour sélectionner la fenêtre souhaitée. So:1 C-w C-w
sélectionne la première fenêtre par ordre cyclique,3 C-w C-w
sélectionne la troisième fenêtre par ordre cyclique, etc.la source
Ace Jump vous permet de naviguer dans votre pointeur vers tous les mots d'un écran, quelle que soit la fenêtre ou le cadre dans lequel ils se trouvent. Ce n'est donc pas si différent d'utiliser Ace Window ou Switch Window.
Un avantage pourrait être que, tout en sautant des fenêtres, vous pouvez également placer votre pointeur avec une certaine précision.
Je trouve toujours cela un peu lourd ou gênant, et j'utilise
windmove
plus, parce que c'est très simple, mais j'utilise quand même Ace Jump lorsque je lis dans une autre fenêtre ou un autre cadre et que je veux me déplacer.la source
Comme d'habitude, il y a cent façons différentes d'y parvenir. Ma façon préférée est d'utiliser NumberedWindows . J'ai ensuite défini le raccourci clavier suivant à l'aide des touches Super et 1-9.
Je vais un peu plus en détail sur ce sujet avec un de mes articles récents que vous pouvez lire dans Afternoon Coder .
la source
Vous pouvez également décider d’utiliser le commutateur-fenêtre pour remplacer visuellement
C-x o
la source
switch-window
plus que tous les autres?