Puedo abrir un shell usando el comando: shell en Vim, sin embargo, no puedo editar un archivo y al mismo tiempo usar el shell.
¿Hay alguna forma de dividir Vim en muchas ventanas (o pestañas) y tener un shell abierto en una de ellas?
Puedo abrir un shell usando el comando: shell en Vim, sin embargo, no puedo editar un archivo y al mismo tiempo usar el shell.
¿Hay alguna forma de dividir Vim en muchas ventanas (o pestañas) y tener un shell abierto en una de ellas?
Respuestas:
Neovim y Vim 8.2
admiten esto de forma nativa a través del :ter[minal]
comando.
Consulte terminal-window
los documentos para obtener más detalles.
vsplit term://bash
si estás usando Neovim.
terminal
comando divide la ventana y proporciona un shell de comando con un color especial en la barra de estado de la ventana. Resbaloso.
Bueno, depende de su sistema operativo, en realidad no lo probé en MS Windows, pero Conque es uno de los mejores complementos que existen.
De hecho, puede ser mejor, pero funciona.
:vsp
o :sp
- divide vim en dos instancias pero no puede usar: shell en solo una de ellas.
¿Por qué no mostrar otra pestaña del terminal, no otra pestaña de vim? Si te gusta la idea, puedes probarla: Ctrl-shift-t.
y moverte entre ellos con Ctrl - pageup
yCtrl - pagedown
Si solo desea unos pocos comandos de shell, puede crear cualquier comando de shell en vim usando !
Por ejemplo :!./a.out
.
vim
magia de ruta de la siguiente manera::!./%
Ctrl
sea, supongo que su respuesta asume gnome-terminal o un emulador similar.
Puede usar tmux
o screen
(el segundo es capaz de hacer solo divisiones horizontales sin un parche) para dividir su terminal. Pero no conozco la forma de tener una instancia de Vim en ambos paneles.
Si aún no lo ha descubierto, puede usar el increíble complemento de pantalla .
Conque también es excepcional, pero encuentro la pantalla mucho más práctica (no "ensuciará" tu búfer, por ejemplo, y puedes enviar los comandos que realmente quieras después de editarlos en tu búfer)
Supongo que esta es una pregunta bastante antigua, pero ahora en 2017. Tenemos neovim, que es una bifurcación de vim que agrega soporte de terminal.
Por :term
lo tanto, invocar abriría una ventana de terminal. La belleza de esta solución en comparación con el uso de tmux (un multiplexor de terminal) es que tendrá los mismos enlaces de ventana que su vim
configuración. neovim es compatible con vim, por lo que básicamente puede copiar y pegar su .vimrc
y simplemente funcionará.
Más ventajas son que puede cambiar al modo normal en el terminal abierto y puede realizar copias y ediciones básicas. También es bastante útil para las confirmaciones de git, supongo, ya que todo lo que hay en su búfer puede usar en autocompletar.
Actualizaré esta respuesta ya que vim también planea lanzar soporte de terminal, probablemente en vim 8.1. Puede seguir el progreso aquí: https://groups.google.com/forum/#!topic/vim_dev/Q9gUWGCeTXM
Una vez que se lanza, creo que esta es una configuración más superior que usar tmux.
No es absolutamente lo que está pidiendo, pero puede que le interese mi complemento vim-notebook, que permite al usuario mantener vivo un proceso en segundo plano y hacer que evalúe parte del documento actual (y escribir la salida en el documento). Está destinado a ser utilizado en documentos de estilo cuaderno que contienen fragmentos de código para ser evaluados.
Es posible que desee abrir un programa de "pantalla", pantalla dividida, abrir shell en uno y vim en otro. Funciona para mi.
Actualmente estoy usando tmux.
Instalación: sudo apt-get install tmux Ejecutarlo: tmux
Ctrl + b seguido de Ctr +%: divide la ventana de su terminal en dos mitades verticales.
Ctrl + "flecha izquierda | flecha derecha": se mueve entre terminales.