Если у меня в сеансе VIM было открыто x или более окон, и я хотел на мгновение быстро спрятать все, кроме активного, затем вернуть окна в макет, который у меня был, как мне это сделать?
В Vim 7 и более поздних версиях вы можете использовать для этого «вкладку» (то есть вкладку «в стиле GUI»). Вы можете использовать :tabкоманду либо :splitили :sbuffer:
:tab split
:tab sp " shorter version
:tab sbuffer
:tab sb " shorter version
И то, splitи другое sbufferделают почти одно и то же при использовании без дополнительных аргументов (разбить текущий буфер). Вы, вероятно, захотите использовать, splitесли ожидаете, что захотите загрузить какое-то (возможно, еще не загруженное) имя пути ( split path/to/some/fileхотя вы можете просто использовать :tabeвместо этого, так как это в контексте открытия новой вкладки); sbufferоблегчает переключение на существующий буфер ( sb {bufnum}или sb {bufname}).
Открыв новую вкладку, вы можете использовать gTи gtдля переключения между полученными вкладками (или элементами управления графическим интерфейсом, если вы используете версию Vim с графическим интерфейсом). Когда вы закончите работу со своей вкладкой в одном окне, просто :qзакройте окно (и, следовательно, вкладку) и вернитесь к исходной вкладке (с ее исходным расположением окон), или используйте :tabclose( :tabc), или переключитесь обратно на исходную вкладку и используйте :tabonly( :tabo).
Я использую CTRL-W _, чтобы «вытолкнуть» другие окна по горизонтали, чтобы текущее окно расширилось до максимально доступной области. Используйте CTRL-W | сделать то же самое по вертикали. Я уверен, что, вероятно, есть способ сделать оба одновременно, но я не заметил или искал это. Смотрите в: помощь CTRL-W
Для их восстановления сделайте CTRL-W =. Одно предостережение, что они не восстановлены в своей первоначальной конфигурации. CTRL-W = фактически пересчитывает наилучшее соответствие для всех окон на экране.
Проверьте, чтобы быть аккуратным взломать для реализации.
MageProspero
7
Насколько я знаю, нет никакого способа просто переключаться между двумя различными макетами окон, но вы можете скрыть все другие окна, выполнив команду :only(или :on). См. Справку Vim для этой команды .
Ответы:
В Vim 7 и более поздних версиях вы можете использовать для этого «вкладку» (то есть вкладку «в стиле GUI»). Вы можете использовать
:tab
команду либо:split
или:sbuffer
:И то,
split
и другоеsbuffer
делают почти одно и то же при использовании без дополнительных аргументов (разбить текущий буфер). Вы, вероятно, захотите использовать,split
если ожидаете, что захотите загрузить какое-то (возможно, еще не загруженное) имя пути (split path/to/some/file
хотя вы можете просто использовать:tabe
вместо этого, так как это в контексте открытия новой вкладки);sbuffer
облегчает переключение на существующий буфер (sb {bufnum}
илиsb {bufname}
).Открыв новую вкладку, вы можете использовать
gT
иgt
для переключения между полученными вкладками (или элементами управления графическим интерфейсом, если вы используете версию Vim с графическим интерфейсом). Когда вы закончите работу со своей вкладкой в одном окне, просто:q
закройте окно (и, следовательно, вкладку) и вернитесь к исходной вкладке (с ее исходным расположением окон), или используйте:tabclose
(:tabc
), или переключитесь обратно на исходную вкладку и используйте:tabonly
(:tabo
).источник
Я использую CTRL-W _, чтобы «вытолкнуть» другие окна по горизонтали, чтобы текущее окно расширилось до максимально доступной области. Используйте CTRL-W | сделать то же самое по вертикали. Я уверен, что, вероятно, есть способ сделать оба одновременно, но я не заметил или искал это. Смотрите в: помощь CTRL-W
Для их восстановления сделайте CTRL-W =. Одно предостережение, что они не восстановлены в своей первоначальной конфигурации. CTRL-W = фактически пересчитывает наилучшее соответствие для всех окон на экране.
источник
Насколько я знаю, нет никакого способа просто переключаться между двумя различными макетами окон, но вы можете скрыть все другие окна, выполнив команду
:only
(или:on
). См. Справку Vim для этой команды .источник