Ich benutze Emacs Ich finde, dass ich manchmal 2 Dateien in 2 Fenster getrennt habe.
Zum Beispiel: Ich öffne 1 Datei mit C-x C-f file1.c RET
und ich teilte den Rahmen in zwei Fenster: C-x 3
Ich öffne dann eine andere Datei C-x C-f file2.c RET
Ich habe also 2 Dateien:
Fenster 1 (links) file1.c
Fenster 2 (rechts) file2.c
Ich frage mich, ob es eine Tastenkombination gibt, um die Dateien auszutauschen. Normalerweise arbeite ich gerne am linken Fenster, wenn ich 2 Fenster habe. Ich weiß, dass ich C-x oden Cursor leicht in das rechte Fenster bewegen kann .
Ich frage mich jedoch nur, ob ich die Dateien so austauschen kann, dass sie file2.c
sich im linken und file1.c
im rechten Fenster befinden.
Antworten:
Ich benutze dafür Buffer-Move . Wenn Sie nun an dem Puffer auf der linken Seite arbeiten, wird er durch Aufrufen von 'buf-move-right' gegen den Puffer auf der rechten Seite ausgetauscht. Ich denke, das ist was du willst.
quelle
(defun win-swap () "Swap windows using buffer-move.el" (interactive) (if (null (windmove-find-other-window 'right)) (buf-move-left) (buf-move-right)))
win-swap
es hat gut funktioniert, danke!C-S-up
tobuf-move-up
usw.Die Transponierungsrahmenbibliothek bietet einen ziemlich umfassenden Satz von Funktionen zum Spiegeln oder Drehen der Fensteranordnungen in Rahmen.
M-x
flop-frame
RET tut, was diese spezielle Frage braucht.Die folgenden Diagramme stammen aus dem Kommentar in der Bibliothek (und ihrer EmacsWiki-Seite):
quelle
flop-frame
funktioniert nur, wenn die Aufteilung zwischen den Fenstern vertikal ist. Für die horizontale Aufteilung benötigen Sieflip-frame
. Funktioniert jedochrotate-frame
unabhängig davon; ein Befehl, um die Puffer zwischen zwei Fenstern zu tauschen, unabhängig von der geteilten Ausrichtung :)In der Emacs 26.1 NEWS-Datei befindet sich der folgende Eintrag:
Was scheint ähnliche Funktionen zu bieten
crux-transpose-windows
, kann aber auch einige Höhen / Breiten-Transpositionen durchführen?quelle
M-x window-swap-states
tauschte die Puffer zwischen den beiden Fenstern.Wenn Sie Prelude verwenden , können Sie einfach
C-c s
(prelude-swap-windows
) verwenden. Aus der Prelude-Dokumentation:quelle
curl | sh
= wtf?), aber Crux sieht auf jeden Fall gut aus und macht eine Menge Sachen, die ich selbst gemacht habe.curl | sh
ist, was ich sage ist: es ist böse.Mir ist keine eingebaute Funktion bekannt, die dies tut.
Es scheint jedoch nicht allzu schwierig zu sein, ein Elisp dafür zu zaubern. Der Teufel steckt jedoch im Detail.
Insbesondere kann dies nicht das tun, was Sie sich wünschen, wenn es darum geht, wo das Caret landet. Sie müssen jedoch zuerst sagen, was Sie möchten: p
quelle
Wenn Sie das Vorspiel haben, können Sie das Ass-Fenster mit verwenden
S-w
. Von dort aus können Sie viele Dinge tun, die in ihren Dokumenten aufgeführt sind .So wäre es
S-w m
quelle
ace-swap-window
ist gebundenSPC w M
. Diese Funktionalität ist standardmäßig verfügbar.Das folgende Code-Snippet kann den Puffer wechseln.
quelle
Ich würde es erfinden, Datei 2 an der gewünschten Stelle zu öffnen, dh nachdem Sie cx 3 gedrückt haben, bewegen Sie den Cursor mit cx o, bevor Sie zur zweiten Datei navigieren.
quelle