Я пытаюсь записать команду, которая закроет древовидный браузер (дерево энергии) окно и изменит размер других окон.
,to
открывает окно и корректирует размер окна так, чтобы все открытые окна сохранили нормальный размер (использование :set columns+=30
CTRL-W =
).
,tc
должен закрыть древовидное окно (во всю длину, крайне левый) и изменить размер главного окна (:set columns-=30
).
Как я могу записать команду, которая закрывает крайнее левое окно так, чтобы я мог ввести ,tc
закрыть окно и изменить размер в одном выстреле?
CTRL-W h
, но это является неэлегантным и потенциально раздражающим (слышимый звонок!) для использования 10CTRL-W h
в команде. :topleft c
к сожалению, не работает.Можно ли думать об изящном способе сделать это?
Если окно действительно будет полно в крайне левом, то оно будет иметь окно номер 1, таким образом, отображение как это должно будет работать:
:nmap ,tc :exe '1wincmd w' | close<CR>
Это переходит к первому окну, затем закрывает его. Недостаток состоит в том, что активное окно станет тем, что было окном номер 2 (который становится окном номер 1, когда исходное окно номер 1 закрывается), а не последнее окно, Вы были в.
К сожалению, :1wincmd c
не закрывает первое окно, так как ctrl-w c не принимает количество, таким образом, я не вижу способ постараться не сначала перемещаться в окно, Вы хотите закрыться.
Редактирование 2017 года: Так как я записал этот ответ, ctrl-w c действительно принимает количество в более новых версиях Vim, таким образом, ответ должен только использовать :1wincmd c
и это не переключит курсор далеко от Вашего активного окна:
:nmap ,tc :1wincmd c<CR>