Scénario: j'ai plusieurs (plus de 2) fenêtres ouvertes. Je travaille activement avec deux d'entre eux. Comment passer au mieux d'une fenêtre à l'autre, et inversement, avec une seule commande?
J'utilise ace-window; c'est super mais je ne veux pas appuyer sur le numéro de la fenêtre à chaque fois. Je connais next-window
/ prev-window
, mais ce sont deux commandes différentes.
Ce que je recherche, c'est quelque chose qui se souvient de ce qu'étaient les fenêtres précédentes lorsque je sélectionne une autre fenêtre et y revient. Appelé à plusieurs reprises, il basculerait entre les deux dernières fenêtres, Alt- Tab-style.
Où est-ce que je regarde?
fn
plus une des touches fléchées pour aller dans n'importe quelle direction, y compris dans et hors du mini-tampon (s'il est actif) - voir la bibliothèque intégréewindmove
.Réponses:
Une façon d'écrire votre propre commande est d'utiliser la
get-mru-window
fonction intégrée.Par exemple:
Cela recherche la fenêtre la plus récemment utilisée dans le cadre actuel qui n'est pas la fenêtre actuellement sélectionnée.
Voici une variante qui fonctionne sur des cadres visibles:
Comme mentionné dans les commentaires, voici une variante qui fonctionne quand il n'y a qu'une seule fenêtre (passage au tampon le plus récent):
la source
get-mru-window
.mode-line-other-buffer
. De cette façon, j'ai une clé qui bascule entre deux tampons dans n'importe quelle configuration de fenêtre.Si vous utilisez déjà
ace-window
, vous pouvez utiliser la commandeaw-flip-window
pour basculer entre deux fenêtres. Par défaut, cela est lié àn
la fenêtre asaw-dispatch-alist
.Cela signifie que vous pouvez appeler ace-window et frapper
n
au lieu d'un numéro de fenêtre pour revenir à la fenêtre précédente. Vous pouvez également vous lieraw-flip-window
à une autre clé.Notez que cela ne retournera qu'à une fenêtre précédemment sélectionnée par ace-window. Si vous changez souvent de fenêtre avec d'autres commandes, vous voudrez peut-être une solution plus générale.
la source
Voici une commande simple, légèrement testée, qui vous fera basculer vers la dernière fenêtre visitée:
la source
next-window
ouother-window
, le changement ne sera pas repris dans larecent-window
variable. Il n'y a pas de crochet évident à utiliser, donc réparer cette partie peut impliquer de définir des conseils pour tout un tas d'autres fonctions.buffer-list-update-hook
, qui est appelé lorsque la fenêtre active change (aprèsselect-window
). Ce crochet est appelé dans d'autres cas mais pourrait être utilisé pour garder une trace de la dernière fenêtre.