Gibt es eine Möglichkeit, ein vorhandenes Fenster (geteilt) in eine neue Registerkarte einzufügen?
Gibt es eine Möglichkeit, ein vorhandenes Fenster (geteilt) in eine neue Registerkarte einzufügen?
Antworten:
Neben dem zuvor vorgeschlagenen :tabeditAnsatz besteht eine schnellere Möglichkeit (im normalen Modus) darin, Ctrl- W Shift- zu drücken.T . Strg-W ist das allgemeine Präfix für eine Vielzahl von Fenstermanipulationsbefehlen.
Sehen:
:help Ctrl-W_T
:help Ctrl-W
help Ctrl-W_TSie, dass Sie zum Hilfeeintrag von Ctrl-W_t(Kleinbuchstaben) gelangen. Weiter unten auf der Seite befindet sich jedoch der Ctrl-W_TEintrag (mit Großbuchstaben T) mit der Aufschrift "Verschieben Sie das aktuelle Fenster auf eine neue Registerkarte ..."
:echo bufnr("")und mit dieser Nummer ein Fenster mit :sp #3oder teilen :sb 3(vorausgesetzt, die Nummer war 3). Möglicherweise können Sie einige Zuordnungen oder Funktionen erstellen, um dies zu vereinfachen.
:sbfunktionieren würde, aber mit neueren Versionen von Vim (> = 7.3) können Sie auch das dauerhafte Rückgängigmachen verwenden, indem Sie festlegen, set undodir=/path/to/dirwo / path / to / dir ein Verzeichnis ist, das Sie haben für den Zweck erstellt und dann set undofile. Auf diese Weise können Sie vim beenden und anschließend neu starten und den Status "Rückgängig / Wiederherstellen" beibehalten.
Versuchen
:tabedit %<CR>
C-w Tist schneller Weg, um das gleiche zu tun
Dadurch wird der neueste Puffer in eine neue Registerkarte verschoben und der vorherige Puffer in der aktuellen Registerkarte wiederhergestellt. Ich benutze dies, nachdem ich eine neue Datei in mein Gvim gezogen habe
:sbp |wincmd p| wincmd T
Sie können es so Strg-Rücktaste zuordnen
:nnoremap <C-BS> :sbp<bar>wincmd p<bar>wincmd T<CR>
es funktioniert besonders gut mit
:set switchbuf=usetab
Ich habe dies verwendet, das Ihnen zwei Funktionen bietet, die an ein Paar von Hotkeys oder Befehlen gebunden werden können und die sehr intuitiv funktionieren. Ich bin mir ziemlich sicher, dass es ein noch freundlicheres Verhalten bietet als z Ctrl-W_T.
Wenn beispielsweise mehrere Fenster in mehreren Registerkarten geöffnet sind, können Sie mit dieser Funktion das aktuelle Fenster gezielt auf die nächste oder vorherige Registerkarte verschieben. Wenn Sie etwas vor die erste Registerkarte oder nach die letzte Registerkarte verschieben, wird es gedreht in eine ganz neue Registerkarte.
Wenn Sie also zwei Registerkarten mit jeweils einem Fenster haben und das Fenster der ersten Registerkarte nach rechts verschieben, wird es mit der zweiten Registerkarte kombiniert, sodass eine einzelne Registerkarte mit zwei Fenstern entsteht. Ich weiß nicht, wie kompliziert diese Operation ist, um mit herkömmlichen Befehlen zu erreichen.
Dies bedeutet, dass ein einzelnes Paar von Verschiebungsbefehlen das Verschieben von Fenstern um die Registerkarten, das Aufteilen von Fenstern in Registerkarten (durch Herausschieben eines Fensters bis zum Ende) und das Zusammenfügen separater Registerkarten zu Fenstern innerhalb einer einzelnen Registerkarte ermöglicht, so ziemlich alles Möglicherweise möchten Sie nicht die Positionsanordnung (was ein separates Thema ist und für die die integrierten Ctrl-W+ Shift-HJKLBefehle gut funktionieren).