Eu dividi minhas janelas horizontalmente. Agora, como posso voltar ao modo normal, ou seja, nenhuma janela dividida apenas uma janela sem cancelar todas as minhas janelas abertas? Eu tenho 5 e não quero "sair", só quero sair da janela dividida.
Eu dividi minhas janelas horizontalmente. Agora, como posso voltar ao modo normal, ou seja, nenhuma janela dividida apenas uma janela sem cancelar todas as minhas janelas abertas? Eu tenho 5 e não quero "sair", só quero sair da janela dividida.
Respostas:
Pressione Control+ we pressione qpara fechar cada janela de cada vez.
Atualização : considere também algumas respostas que podem ser mais úteis para você, envolvendo :on
(leia abaixo) se você não quiser fazer uma janela de cada vez.
hidden
parece ajudar. No entanto, o que eu quis dizer foi: como você adiciona um! para um atalho? É "Cw! Q", "Cw q!", "! Cw q", "C-! W q"? Eu acho que nenhum desses, mas já esqueci como criar novos buffers, então este é um exercício para o leitor.
Para fechar todas as divisões, eu costumo colocar o cursor na janela que será o em um LY visível e, em seguida, fazer :on
o que faz a janela atual na janela LY visível. Bom mnemônico para lembrar.
Edit: :help :on
me mostrou que estes comandos são os mesmos:
Cada um desses quatro fecha todas as janelas, exceto a ativa.
:on
ela responderá E445: Other window contains changes
e não fechará a outra janela. Por exemplo, costumo criar uma nova janela e ler nele um arquivo do qual gostaria de arrancar. Nesse caso, o Vim considera a outra janela com alterações não escritas. Nesse caso, use :on!
para forçar um fechamento.
para fechar todas as janelas, exceto a atual:
CTRL+ w,o
Ou seja, primeiro CTRL+ we depois o.
CTRL+W o
digitação acidentalmente.
Duas alternativas para fechar a janela atual são ZZ
e ZQ
, que, respectivamente, salvam e não salvam as alterações no buffer exibido.
Z
porque sou alemão. (Spoiler: layout do teclado se você alternar frequentemente entre as configurações DE / EN)
O comando: hide oculta a janela atualmente focada. Eu acho que essa é a funcionalidade que você está procurando.
Para navegar entre as janelas, digite Ctrl + w seguido de uma tecla de navegação (h, j, k, l ou setas)
Para mais informações prazo :help window
e :help hide
no vim.
De :help opening-window
(procure por "Fechar uma janela" - /Closing a window
)
:q[uit]
feche a janela atual e o buffer. Se for a última janela, também sairá do vim:bd[elete]
descarregar o buffer atual e fechar a janela atual:qa[all]
ou :quita[ll]
fechará todos os buffers e janelas e sairá do vim ( :qa!
para forçar sem salvar as alterações):clo[se]
feche a janela atual, mas mantenha o buffer aberto. Se houver apenas uma janela, este comando falhará:hid[e]
ocultar o buffer na janela atual (Leia mais em :help hidden
):on[ly]
feche todas as outras janelas, mas deixe todos os buffers abertosAchei que ctrl+ wna janela que você deseja fechar, basta fazer :q. Isso funciona para mim.
^W^W:q
como uma possível solução, então se livre de uma divisão. Observe que, ^W to the window you want to close
aparentemente, implica vários usos de ^W^W
para mudar para a janela que você deseja fechar.
Entendo bem sua intenção, também uso buffers exclusivamente e, ocasionalmente, divido se necessário.
abaixo está um trecho da minha .vimrc
" disable macro, since not used in 90+% use cases
map q <Nop>
" q, close/hide current window, or quit vim if no other window
nnoremap q :if winnr('$') > 1 \|hide\|else\|silent! exec 'q'\|endif<CR>
" qo, close all other window -- 'o' stands for 'only'
nnoremap qo :only<CR>
set hidden
set timeout
set timeoutlen=200 " let vim wait less for your typing!
O que se encaixa muito bem no meu fluxo de trabalho
Se
q
foi pressionado
- ocultar a janela atual se várias janelas forem abertas; tente sair do vim.
se
qo
foi pressionado,
- feche todas as outras janelas, sem efeito se houver apenas uma janela.
Obviamente, você pode agrupar essa parte confusa em uma função , por exemplo
func! Hide_cur_window_or_quit_vim()
if winnr('$') > 1
hide
else
silent! exec 'q'
endif
endfunc
nnoremap q :call Hide_cur_window_or_quit_vim()<CR>
Sidenote : Eu remap q
, desde que eu não use macro para editar, em vez usar :s
, :g
, :v
, e externa comando de processamento de texto, se necessário, por exemplo, :'{,'}!awk 'some_programm'
ou uso :norm! normal-command-here
.
Assim como os outros disseram antes, a maneira de fazer isso é pressionar ctrl+ we depois o. Isso "maximizará" a janela atual, enquanto fecha as outras. Se você deseja "desmaximizar", existe um plugin chamado ZoomWin para isso. Caso contrário, você teria que recriar a configuração da janela do zero.
Ok, acabei de me desconectar e reconectar à sessão de tela e estou de volta à tela normal que queria
vim
do modo de janela dividida, apenas sai screen
do modo de painel dividido - que pode ser facilmente confundido, talvez outros também. BTW eu acho esse recurso de tela irritante, portanto, agora eu padrão para o tmux
qual permite uma recolocação com todas as divisões intactas.