Sé que puedo hacerlo, !commands
pero me gustaría integrar de alguna manera un shell en vim. ¿O podría usar la pantalla y dividir la pantalla para que vim ocupe la mitad de la pantalla?
Sé que puedo hacerlo, !commands
pero me gustaría integrar de alguna manera un shell en vim. ¿O podría usar la pantalla y dividir la pantalla para que vim ocupe la mitad de la pantalla?
Respuestas:
CtrlZsuspenderá vim y devolverá el control a bash. Use fg
para volver a vim.
La integración de subprocesos es el principal punto débil de Vim. No hay soporte integrado para una ventana de shell , pero puede probar el complemento vimsh .
En Pantalla, presione C-a c
para crear una nueva ventana (pantalla completa). Presione C-a p
o C-a n
para moverse a la ventana anterior / siguiente ( C-a space
también se mueve a la ventana siguiente). Además, el split
comando ( C-a S
) dividirá su pantalla en dos regiones; puedes usar uno para un shell y otro para Vim. Presione C-a tab
para cambiar entre regiones.
Siempre puede presionar Ctrl+ Zpara suspender Vim y ejecutar comandos en el shell principal; escriba fg
para volver a Vim. O puede usar :shell
para crear una subshell (pantalla completa); escriba exit
para volver a Vim.
Como sugiere, simplemente usaría la pantalla.
screen
Si no quieres exactamente la mitad y la mitad puedes:
Si necesita ver qué hay en vim cuando está en la línea de comandos, esta es una buena manera de hacerlo. Si no lo hace, el método Ctrl-Z
/ fg
ya mencionado es el camino a seguir.
También puede usar: shell para generar un shell. Escriba exit o Ctrl + D para salir del shell y volver a vim. Si desea que ambos se ejecuten simultáneamente, usar fg / bg (según Ignacio), la pantalla (como sugirió) o solo dos terminales separados (xterms, consolas virtuales, lo que sea) son sus mejores opciones.
Si va a vim.org, probablemente pueda encontrar una extensión que inicie un shell directamente, pero en ese momento se está acercando peligrosamente a emacs. ;) Aquí hay un ejemplo usando la pantalla: http://www.vim.org/scripts/script.php?script_id=2711