¿Cómo puedo interactuar con la línea de comando a través de una consola si tengo vim abierto?


4

Sé que puedo hacerlo, !commandspero 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:



5

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 cpara crear una nueva ventana (pantalla completa). Presione C-a po C-a npara moverse a la ventana anterior / siguiente ( C-a spacetambién se mueve a la ventana siguiente). Además, el splitcomando ( C-a S) dividirá su pantalla en dos regiones; puedes usar uno para un shell y otro para Vim. Presione C-a tabpara cambiar entre regiones.

Siempre puede presionar Ctrl+ Zpara suspender Vim y ejecutar comandos en el shell principal; escriba fgpara volver a Vim. O puede usar :shellpara crear una subshell (pantalla completa); escriba exitpara volver a Vim.


3

Como sugiere, simplemente usaría la pantalla.

  • screen
  • ^ Ac para crear una nueva ventana
  • ^ AS para dividir la pantalla horizontalmente en dos regiones (algunas versiones tienen Ctrl- | para dividir verticalmente)
  • ^ A-Tab para moverse a la nueva región
  • ^ An para cambiar la región a la siguiente ventana

Si no quieres exactamente la mitad y la mitad puedes:

  • ^ A- + para aumentar el tamaño de la región actual

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/ fgya mencionado es el camino a seguir.


2

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


1
"probablemente pueda encontrar una extensión que inicie un shell directamente, pero en ese momento se está acercando peligrosamente a emacs". Deja de hablar, estás asustando a los niños.
TTM
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.