Czy istnieje sposób na przeniesienie podzielonej strony do nowej karty w Vimie?

43

Otworzyłem plik w układzie poziomym lub pionowym i zamiast tego umieściłem go w nowej karcie. Czy można to zrobić łatwo?

Pierre-Antoine LaFayette
źródło

Odpowiedzi:

73

Bardzo łatwo użyj CTRL+ W, SHIFT+ T.

Zobacz stronę pomocy :

:help CTRL-W_T

Pamiętaj, że wielkość liter ma znaczenie: <C-W>Tróżni się od <C-W>t.

Glin.
źródło
2
Czy można to zrobić odwrotnie (przesunąć kartę do podziału)?
aruuu
4

Długim i prostym sposobem byłoby otwarcie nowej karty i otwarcie tam bufora pliku.

:tabnew
:b FILE_NAME

:bmoże TAB-kompletować z dowolnych części nazwy pliku, więc nie powinno to zająć zbyt długo.

Benjamin Bannier
źródło
1

Rozwiązanie kanoniczne

Załóżmy, że istnieją dwa bufory:

:ls
  1 #h   "match_this_partially.md"  line 1
  2 %a   "food/tacos.txt"           line 1

Aktualnie masz food/tacos.txtotwarte. Chcesz otworzyć match_this_partially.mdw nowej karcie.

Po prostu użyj następującego:

:tab sb partial

- lub -

:tab sb 1

Możesz również użyć uzupełniania tabulatora wildmenu zamiast partial.


długa forma:

  • :tab sbuffer {buffer}

Wsparcie:

  • :help :tag
  • :help :sbuffer

Alternatywne rozwiązanie klawiatury

Otwórz plik w nowym podziale otwórz go w nowej karcie z następującymi elementami:

<c-w>T

Przypadek użycia

Uwaga: dla mnie ]bpo prostu jest mapowanynnoremap <silent> ]b :silent execute v:count.'bnext'<cr>

Jeśli mam kilka buforów, mógłbym zrobić coś takiego:

  1. <c-w>v - utwórz nowy podział pionowy
  2. ]b- przejdź do następnego bufora (zasadniczo za pomocą :bnext)
  3. <c-w>T - otwórz podział w nowej karcie (to niszczy podział w pierwszej karcie)
dylnmc
źródło