In Emacs habe ich öfter als ich möchte 4 Fenster oder mehr.
Ich werde dieses Beispiel verwenden:
+--------|-----------+
| | |
| 1 | 2 |
| | |
+--------+-----------+
| 3 | 4 |
| +-----------+
| | 5 |
+--------+-----------+
Viele Funktionen können Aktionen ausführen other-window
(normalerweise dasselbe Fenster, auf das gezeigt wird C-x o
). Besonders nützlich sind scroll-other-window
. Wenn jedoch 4 oder mehr Fenster geöffnet werden, other window
ist es unwahrscheinlich, dass dies das gewünschte ist.
Gibt es eine einfache Möglichkeit, das Set zu verwalten, other-window
ohne das Fenster- / Pufferlayout zu ändern? Natürlich ist es mit ein paar C-x 4 b
und machbar, C-b
aber ich möchte das Layout nicht ändern. Zum Beispiel:
- Wenn Sie in Fenster 4 im obigen Bild bearbeiten , gibt es eine einfache Möglichkeit, das Bild 1
C-M-v
zu scrollen ? - Oder nehmen wir einfach an, dass der Fokus auf Fenster 3 liegt , wie man
other-window
auf Fenster 2 zeigt ?
M-1 M-2 ..
Fenster Nummer 1, 2 mit demwindow-number
PaketAus einer kurzen Überprüfung der Quelle
other-window
geht hervor, dass sie tatsächlich von dem vonnext-window
c zurückgegebenen Fenster abhängt , das in c definiert ist. Leiderscroll-other-window
ist auch in c definiert und ruft vermutlich das nächste Fenster von dort auf. Ich denke nicht, dass es einfach ist, das zu überschreiben.Es
switch-to-buffer-other-window
scheint jedoch zu verwendenpop-to-buffer
, so dass Sie dort möglicherweise etwas Glück haben.quelle
Es gibt keine einfache Möglichkeit, die Fensterliste zu bearbeiten, daher ist das von zurückgegebene Ergebnis
other-window
mehr oder weniger fest. Dies ist an sich keine schlechte Sache, da es Konsistenz beim Navigieren in Fenstern ermöglicht. In Bezug auf die beiden von Ihnen beschriebenen Szenarien können Sie mit einigen Elisp oder Makros Ihren Workflow anpassen.Sie können ein einfaches Snippet wie das folgende verwenden, um
other-window
die entsprechende Anzahl von Malen zu verwenden, nach unten zu scrollen und zum ursprünglichen Fenster zurückzukehren.Sie können ein Präfixargument übergeben, um anzugeben, durch welches Fenster gescrollt werden soll. Wie Sie schließen können, wird der eingebaute Mechanismus verwendet
other-window
, um diearg
Anzahl der Fenster vor dem Scrollen zu überspringen . Dassave-selected-window
sorgt Fokus kehrt zum ursprünglichen Fenster. In der Dokumentation vonother-window
finden Sie weitere Informationen zum Ändern dieses Snippets an Ihr Verhalten.Verwenden Sie beim Anrufen erneut ein
prefix-arg
wie in . Die tatsächlich anzugebende Anzahl hängt von der Reihenfolge ab, in der Sie sie aufteilen, und ändert sich nicht, solange Sie keine neuen Fenster erstellen. Alternativ können Sie Convenience-Pakete wie oder von MELPA verwenden, um ausgewählte Fenster schnell zu wechseln.C-3 C-x o
other-window
window-number
ace-window
quelle
<f7> n
um durch das n-te Fenster zu scrollen. Erstellen Sie temporäre Ein-Tasten-Bindungen mit Tastaturmakros.