¿Cómo podría salir de Vim, no :q
, y luego volver para continuar editando?
303
Suponiendo que el terminal Vim tiene un sabor de * nix:
Ctrl + Z
suspenderá el proceso y volverá a su shell
fg
se reanudará (traer a f mineral g redondo) su Vim suspendido.
Comience una subshell usando:
:sh
(según lo configurado por)
:set shell?
:!bash
seguido por:
Ctrl+ D(o exit
, pero ¿por qué escribir tanto?)
matar al caparazón y volver a Vim.
ps
para ver los procesos en primer plano unix.stackexchange.com/questions/6115/…nodemon app.js
(nodemon actualiza el servidor en las ediciones de archivos para usted) y luego quiero volver a mi edición de vim. ¿Puedo hacer eso sin dos ventanas de terminal separadas?jobs
visitar los procesos en primer plano con un título (para mí) más legible. Entonces, por ejemplo,fg %2
para seleccionar el segundo.control-z
actúa como 'deshacer', verifique su vimrc para ver sibehave mswin
está presente. Si se trata de quitarlo ycontrol-z
funcionaráexit
Puede usar
:sh
para salir a su shell predeterminado y luego escribir$ exit
en el indicador de shell le devolverá a Vim.fuente
$ ps
para averiguar si estamos en un sub-shell vim antes de llamar$ exit
para evitar cerrar el terminal accidentalmente. Encontré esto aquí (no he probado el indicador rápido mencionado en el sitio web).Puede cambiar al modo de shell temporalmente:
como
fuente
Si está en un sistema Unix, Ctrl+ Zsuspenderá Vim y le dará un shell.
Escribe
fg
para volver. Tenga en cuenta que Vim crea un archivo de intercambio mientras edita, y suspender Vim no eliminaría ese archivo (no está saliendo de Vim después de todo). En terminales tontas, este método era bastante estándar para los ciclos de edición-compilación-edición usando vi . Me acabo de enterar de que, para mí, gVim minimiza la escritura Z.fuente
También puede hacerlo
:sus
para caer en la cáscara y volverfg
.fuente
Hay varias formas de salir de Vim y tener todo igual cuando regrese. Hay muy buena documentación dentro de Vim que explica las diversas formas en que esto se puede hacer. Puede usar el siguiente comando dentro de vim para acceder a la página de ayuda relevante:
:help usr_21
Para darle un breve resumen, estos son los diferentes métodos para salir y regresar con su sesión intacta:
Suspender y reanudar: en realidad no sales de Vim con esto; simplemente oculta su sesión en segundo plano hasta que la necesite. Si reinicia su computadora o emite un comando kill a Vim, perderá su sesión. Esto es bueno para cuando desea cambiar a otra tarea temporalmente, pero si este es el caso, entonces puede considerar usar la utilidad GNU Screen .
Sesiones: esta es la verdadera forma de guardar su sesión entre instancias de Vim. Incluso si realmente abandonas Vim, tu sesión estará allí para ti cuando regreses. Esto es probablemente lo que estás buscando.
fuente
Para ampliar la respuesta del usuario Zen , puede agregar la siguiente línea en su
~/.vimrc
archivo para permitir alternar rápidamente entre Bash y Vim:fuente
Simplemente
fg
ingrese y regrese a su programa suspendido más recientemente.fuente
Si está usando Neovim , puede hacer lo siguiente:
:terminal
comando para abrir una ventana de terminal.exit
para matar el proceso terminalfuente
Si no te importa usar tu mouse un poco:
Esto crea una nueva pestaña en el terminal en la que puede ejecutar Vim. Ahora use su mouse para desplazarse hacia / desde la terminal. Prefiero esto en lugar de tener que escribir siempre (
:shell
y salir).fuente