Solía haber un parche de shell para vim, pero ya no se compila afaik. Lo más cerca que va a llegar a un verdadero shell es usar screen o tmux. Esto es lo más grande que echo de menos en vim.
con vim 8.0 o posterior, el terminalcomando divide la ventana y proporciona un shell de comando con un color especial en la barra de estado de la ventana. Resbaloso.
NoelProf
@KiranKumarKotari vert [ical] ter [minal]
MPA95
46
Bueno, depende de su sistema operativo, en realidad no lo probé en MS Windows, pero Conque es uno de los mejores complementos que existen.
Si está utilizando Vundle para administrar los complementos, puede agregar Bundle 'jewes / Conque-Shell' a su archivo .vimrc y ejecutar: BundleInstall para instalarlo.
Mingjiang Shi
Una cosa a tener en cuenta: el requisito + python o + python3 para vi puede ser un asesino en algunos entornos de trabajo.
:vspo :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 - pageupyCtrl - pagedown
Si solo desea unos pocos comandos de shell, puede crear cualquier comando de shell en vim usando !
Y para ejecutar un ejecutable actualmente abierto, puede usar la vimmagia de ruta de la siguiente manera::!./%
cprn
¿Por qué no mostrar otra pestaña de la terminal ? No todo el mundo está usando vim en un emulador de terminal por encima de una GUI ... De lo que Ctrlsea, supongo que su respuesta asume gnome-terminal o un emulador similar.
törzsmókus
8
Puede usar tmuxo 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.
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 :termlo 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 vimconfiguración. neovim es compatible con vim, por lo que básicamente puede copiar y pegar su .vimrcy 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.
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.
Se canceló el -1 porque no hubo explicación. Además, probé la solución del complemento de pantalla vim y no es tan diferente de la solución de mrcybul. @mrcybul: tanques por intentar ayudar. Para evitar ser rechazado, lea atentamente las otras respuestas y agregue la suya solo si cree que aporta algo nuevo. También incluya por qué su solución puede ser mejor en ciertos casos.
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.fuente
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.
fuente
: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 conCtrl - pageup
yCtrl - pagedown
Si solo desea unos pocos comandos de shell, puede crear cualquier comando de shell en vim usando
!
Por ejemplo
:!./a.out
.fuente
vim
magia de ruta de la siguiente manera::!./%
Ctrl
sea, supongo que su respuesta asume gnome-terminal o un emulador similar.Puede usar
tmux
oscreen
(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.fuente
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)
fuente
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 suvim
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.
fuente
VimShell de Shougo , que puede autocompletar nombres de archivos si se usa con neocomplcache
fuente
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.
fuente
Es posible que desee abrir un programa de "pantalla", pantalla dividida, abrir shell en uno y vim en otro. Funciona para mi.
fuente
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.
fuente