2009-11-18 10 views

Antwort

214

Neben den zuvor vorgeschlagen :tabedit Ansatz, eine schnellere Art und Weise (im Normalbetrieb), es zu tun ist Ctrl zu schlagen - WShift- - T. Strg-W ist das allgemeine Präfix für eine Vielzahl von Fenstermanipulationsbefehlen.

Siehe:

:help Ctrl-W_T 
:help Ctrl-W 
+3

Beachten Sie, dass' help Ctrl-W_T' Sie zum Hilfeeintrag von 'Ctrl-W_t' (Kleinbuchstaben) bringt, jedoch weiter unten auf der Seite ist' Ctrl- W_T' Eintrag (mit Groß-/Kleinschreibung T), mit den Worten "Verschiebe das aktuelle Fenster auf eine neue Registerkarte ...." – Rabarberski

+0

@DrAl und wie bewegen wir ein neues Registerkartenfenster, um Fenster zu teilen? –

+0

@RamizUddin Es gibt keine einfache Möglichkeit, dies zu tun (da es nicht offensichtlich ist, in welches Fenster Sie sich teilen wollen). Sie können jedoch mit ': echo bufnr ('") 'die Puffernummer für Ihre aktuelle Registerkarte herausfinden und mit dieser Nummer ein Fenster mit': sp # 3' oder ': sb 3' teilen (unter der Annahme der Nummer war 3). Sie können möglicherweise einige Zuordnungen oder Funktionen erstellen, um dies zu vereinfachen. – DrAl

97

Versuchen

:tabedit %<CR> 
+0

Nur neugierig, warum Sie die damit aufgenommen haben. – Swiss

+13

Aus dem gleichen Grund habe ich ":" eingefügt. Dies ist die vollständige vim Tastenkombination im normalen Modus und Sie können dies in 'nnoremap' und in 'nmap' verwenden. –

+0

Diese Funktion hat bei mir nicht funktioniert. Es öffnet die neue Registerkarte für eine Sekunde, aber schließt sie dann aus irgendeinem Grund. Muss ein Problem mit einer Einstellung oder einem Plugin sein, das ich habe. DrAls Lösung unten funktionierte jedoch. –

0

Ich habe this wurde mit dem Sie zwei Funktionen gibt, die mit einem Paar von Hotkeys oder Befehle gebunden werden können, und das ist ziemlich intuitiv funktioniert. Ich bin mir ziemlich sicher, dass es Verhalten noch freundlicher als z. Ctrl-W_T.

Wenn beispielsweise mehrere Fenster auf mehreren Registerkarten geöffnet sind, können Sie mit dieser Funktion das aktuelle Fenster auf die nächste oder vorherige Registerkarte verschieben und etwas vor die erste oder nach der letzten Registerkarte verschieben Dann wird es zu einem ganz neuen Tab.

Das bedeutet, wenn Sie zwei Registerkarten haben, die jeweils ein einzelnes Fenster haben, wird das erste Registerfenster nach rechts und das zweite Registerfenster zu einem einzigen Register mit zwei Fenstern zusammengeführt. Ich weiß nicht, wie gewunden diese Operation mit traditionellen Befehlen zu erreichen ist. Dies bedeutet, dass ein einziges Paar von Verschiebebefehlen sowohl das Verschieben von Fenstern um die Registerkarten als auch das Aufteilen von Fenstern in Registerkarten (durch Schieben eines Fensters bis zum Ende) und das Verbinden einzelner Registerkarten in Fenstern innerhalb einer einzelnen Registerkarte ermöglicht , so ziemlich alles, was man sich nur wünschen kann, außer einer Positionsanordnung (was ein separates Thema ist und die eingebauten Ctrl-W + Shift-HJKL Befehle gut funktionieren).

2

Dies verschiebt den neuesten Puffer in eine neue Registerkarte und stellt den vorherigen Puffer in der aktuellen Registerkarte wieder her. Ich benutze diese nach einer neuen Datei ziehen in meine Gvim

:sbp |wincmd p| wincmd T 

Sie, dass es so Ctrl-Rück Karte kann

:nnoremap <C-BS> :sbp<bar>wincmd p<bar>wincmd T<CR> 

führt es besonders gut mit

:set switchbuf=usetab 
Verwandte Themen