Como posso fechar a janela mais à esquerda no Vim?

0

Estou tentando escrever um comando que feche uma janela do navegador da árvore ( vim-tree ) e redimensione as outras janelas.

,toabre a janela e ajusta o tamanho da janela para que todas as janelas abertas mantenham um tamanho normal (usando :set columns+=30CTRL-W =).

,tcdeve fechar a janela da árvore (comprimento total, extrema esquerda) e redimensionar a janela principal ( :set columns-=30).

Como posso escrever um comando que feche a janela mais à esquerda para que eu possa digitar ,tcpara fechar a janela e redimensionar em uma foto?

  • Posso navegar até ele com CTRL-W h, mas é deselegante e potencialmente irritante (sino audível!) Para usar 10CTRL-W hno comando.
  • :topleft c infelizmente não funciona.

Você consegue pensar em uma maneira elegante de fazer isso?

terraço
fonte
Tem certeza de que o sino é do 10CTRL-W hcomando? Eu apenas tentei e ele não gera um sino para mim, enquanto outros comandos (por exemplo, hquando o cursor está na coluna 1) o fazem.
precisa saber é o seguinte
@garyjohn - Vou tentar, mas ainda é deselegante! ;)
terrace

Respostas:

1

Se a janela realmente tiver um comprimento total na extrema esquerda, ela terá a janela número 1; portanto, um mapeamento como este deve funcionar:

:nmap ,tc :exe '1wincmd w' | close<CR>

Isso pula para a primeira janela e depois a fecha. A desvantagem é que a janela ativa se tornará qualquer que fosse a janela número 2 (que se torna a janela número 1 quando o número original da janela 1 é fechado), e não a última janela em que você estava.

Infelizmente :1wincmd c, não fecha a primeira janela, pois ctrl- w cnão aceita uma contagem, por isso não consigo encontrar uma maneira de evitar primeiro mover para a janela que você deseja fechar.

2017 Edit: Desde que escrevi esta resposta,ctrl-w caceita uma contagem nas versões mais recentes do Vim, portanto, a resposta é apenas para uso:1wincmd ce não afastará o cursor da janela ativa:

:nmap ,tc :1wincmd c<CR>
Heptite
fonte