¿Hay alguna forma de acceder al terminal mientras se usa Vim ?
No me gusta abrir otra terminal o guardar y salir de la terminal actual.
¿Hay alguna forma de acceder al terminal mientras se usa Vim ?
No me gusta abrir otra terminal o guardar y salir de la terminal actual.
Respuestas:
Puede enviar vim la señal SIGTSTP. Para ello, presione ctrl+ z. Vim se suspenderá en segundo plano, y puede usar el terminal. Escriba fg
en la terminal para reanudar con vim.
Consejo adicional: esto funciona en casi todas las aplicaciones de terminal. Use bg
para permitir que la aplicación continúe ejecutándose en segundo plano.
%
lugar de fg
. O %1
, %2
etc., si tiene muchos trabajos en segundo plano. jobs
El comando los enumerará. (Asumiendo bash
como el caparazón.)
En vim, simplemente escriba:
:!sh
:!
lanza un proceso externo, en este caso sh
, otro shell. El control volverá a vim una vez que salga del shell. Si desea utilizar el shell simultáneamente con vim, agregue &
al final del comando sh:
:!sh&
:shell
.
http-server
e imprime los registros que quiero ver? Me gustaría poder cambiar a mis archivos, hacer ediciones y luego volver a los registros.
Puede usar el :shell
comando (o la forma abreviada :sh
). De :help :shell
:
Este comando inicia un shell. Cuando el shell sale (después del comando "salir") vuelve a Vim. El nombre del comando shell proviene de la opción 'shell'.
Por defecto, en Ubuntu, esto te dará bash. escriba exit
para volver a vim cuando haya terminado.
Desde vim reciente ahora puede hacer:
:terminal
Esto se agregó inicialmente en Vim 8.0.693 , pero con muchos errores. Ver :help terminal
:
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
The terminal feature is optional, use this to check if your Vim has it:
echo has('terminal')
If the result is "1" you have it.
[...]
The terminal feature requires the +multi_byte, +job and +channel features.
==============================================================================
1. Basic use terminal-use
This feature is for running a terminal emulator in a Vim window. A job can be
started connected to the terminal emulator. For example, to run a shell:
:term bash
Or to run a debugger:
:term gdb vim
The job runs asynchronously from Vim, the window will be updated to show
output from the job, also while editing in any other window.
Como complemento a todas las respuestas.
Puede instalar el complemento ConqueTerm
Este complemento proporciona la capacidad de ejecutar programas interactivos dentro de los búferes vim.
Después de la instalación, puede agregar estas 2 líneas a su .vimrc
:
:nnoremap <S-w> :q!<CR>
:nnoremap <S-t> :ConqueTermSplit bash<CR>
Y podrá ejecutar bash
presionando Shift+ T, y cerrar la pestaña Conque actual presionando Shift+W
Es perfecto si necesita abrir / cerrar rápidamente bash
.
Aquí hay gif que muestra cómo se ve
Otra opción con pantalla o byobu es abrir una pestaña dentro de esos programas. Estos programas hacen que sea bastante fácil mantener abierto un shell cq de sesión terminal y cambiar entre esas pantallas con el teclado.
¡Con la nueva versión de vim 8.1 todo lo que necesitas hacer es solo :terminal
y listo! (esto está incorporado)