Como eu poderia sair do Vim, não :q
e depois voltar para continuar editando?
303
Supondo que o terminal Vim tenha um sabor de * nix:
Ctrl + Z
suspenderá o processo e retornará ao seu shell
fg
retomará (trazer para f minério g rodada) seu Vim suspenso.
Inicie um subshell usando:
:sh
(conforme configurado por)
:set shell?
:!bash
Seguido por:
Ctrl+ D(ou exit
, mas por que digitar tanto?)
para matar a concha e retornar ao Vim.
ps
para visualizar os processos em primeiro plano unix.stackexchange.com/questions/6115/…nodemon app.js
(o nodemon atualiza o servidor nas edições de arquivo para você) e, em seguida, quero retornar à minha edição do vim. Posso fazer isso sem duas janelas de terminal separadas?jobs
para visitar os processos em primeiro plano com um título (para mim) mais legível. Então, por exemplo,fg %2
para selecionar o segundo.control-z
age como 'desfazer', verifique seu vimrc para ver sebehave mswin
está presente. Se é removê-lo econtrol-z
vai funcionarexit
Você pode usar
:sh
para sair para o shell padrão e digitar$ exit
no prompt do shell retornará ao Vim.fonte
$ ps
para descobrir se estamos em um sub-shell vim antes de ligar$ exit
para evitar fechar o terminal acidentalmente. Encontrei isso aqui (não tentei o indicador de prompt mencionado no site).Você pode alternar temporariamente para o modo shell:
tal como
fonte
Se você estiver em um sistema Unix, o Ctrl+ Zsuspenderá o Vim e fornecerá um shell.
Digite
fg
para voltar. Observe que o Vim cria um arquivo de troca durante a edição e a suspensão do Vim não excluiria esse arquivo (afinal você não está saindo do Vim). Em terminais burros, esse método era bastante padrão para ciclos de edição, compilação e edição usando o vi . Acabei de descobrir que, para mim, o gVim minimiza a digitação Z.fonte
Você também pode fazer isso
:sus
para cair na concha e voltar atrásfg
.fonte
Existem várias maneiras de sair do Vim e ter tudo igual quando você retornar. Existe uma documentação muito boa no próprio Vim explicando as várias maneiras pelas quais isso pode ser feito. Você pode usar o seguinte comando no vim para acessar a página de ajuda relevante:
:help usr_21
Para lhe dar um breve resumo, eis os diferentes métodos para encerrar e retornar com a sessão intacta:
Suspender e continuar - Na verdade, você não sai do Vim com isso; você simplesmente oculta sua sessão em segundo plano até precisar dela. Se você redefinir seu computador ou emitir um comando kill para o Vim, você perderá sua sessão. Isso é bom para quando você deseja alternar temporariamente para outra tarefa, mas se for esse o caso, convém usar o utilitário GNU Screen .
Sessões - Esta é a maneira verdadeira de salvar sua sessão entre instâncias do Vim. Mesmo que você realmente saia do Vim, sua sessão estará lá quando você voltar. Provavelmente é isso que você está procurando.
fonte
Para estender a resposta do usuário Zen , você pode adicionar a seguinte linha no seu
~/.vimrc
arquivo para permitir alternar rapidamente entre o Bash e o Vim:fonte
Basta inserir
fg
e voltar ao seu programa suspenso mais recentemente.fonte
Se você estiver usando o Neovim , faça o seguinte:
:terminal
comando para abrir uma janela do terminal.exit
para matar o processo do terminalfonte
Se você não se importa de usar o mouse um pouco:
Isso cria uma nova guia no terminal na qual você pode executar o Vim. Agora use o mouse para mudar de / para o terminal. Eu prefiro isso em vez de sempre ter que digitar (
:shell
e sair).fonte