2010-07-11 12 views
13

He estado buscando sin resultados para una integración de bash inside vi, como aparece en emacs; el problema es: tengo vi abrir con 2 vistas, una abierta con el comando :split, y quiero usar bash en la segunda vista, mientras estoy editando un archivo en la primera; si hago :sh mientras edito la segunda vista, toda la sesión se detiene y se abre un shell bash, pero no puedo editar el archivo y usar el shell al mismo tiempo .. No quiero usar !<command> o programas externos como "terminator" ... ¿Hay alguna solución? ThxLinux shell (bash) en la vista dividida de vi

+2

vi (supongo Vim)!= emacs, me temo, la filosofía detrás de los dos es completamente diferente –

+0

Sé :) Usaría vi porque es más portátil y más ligero que emacs, pero no puedo soportar que no haya una característica como esa: \ – gc5

+2

I piense 'screen (1)' es una buena solución si está en * nix –

Respuesta

13

¿Ha intentado buscar plugins de Vim de terceros? Conque Shell parece que podría hacer el trabajo.

+0

genial: D es realmente lo que estaba buscando :) – gc5

+0

Esto funciona muy bien, tanto con gvim como con macvim. Agradable. – Jeet

+1

El shell Conque tiene algunos inconvenientes, como cómo es todo hecho en modo insertar, por lo que debe volver al modo normal antes de cambiar las ventanas, no puede ingresar el shell y luego vim nuevamente ... – puk

1

Me temo que esta característica no está disponible en (presumiblemente) Vim. Está en la lista de posibles nuevas características. Vea aquí http://www.vim.org/sponsor/vote_results.php. En el momento actual de la escritura, esta es la función número dos, agregue características IDE. Si desea votar por esta función, deberá patrocinar a Vim.

+0

También patrociné el proyecto vim, incluso si he encontrado en el complemento de ConqueShell lo que estaba buscando. Esperamos una integración o implementación pronto. – gc5

+1

@Francesco esto probablemente no sucederá. Lea ': help shell-window'. Esto me entristece :( –

+0

mh lo leí :( – gc5

1

Uso VIM junto con tmux, que maneja muy bien las divisiones de ventanas. Sin embargo, me acaba de hacer la transición a este flujo de trabajo de una combinación de terminal y GVIM, y me encontré con su pregunta al buscar una pieza que faltaba en mi antiguo flujo de trabajo.

Podría ejecutar GVIM desde la línea de comando con el indicador "--servername" y agregar archivos a esa ventana con el indicador "--remote-tab". Ahora que vivo completamente en la terminal con tmux, no parece tener la misma opción, entonces BBW. :/

0

Sólo me escribió un plugin para tal fin, ver http://www.vim.org/scripts/script.php?script_id=4887

no va a funcionar en Windows. Por otro lado, utiliza la filosofía de Unix: dos FIFO, alguna interacción difícil entre procesos en segundo plano. No requiere Python o lo que sea. Permite ejecutar un shell o cualquier intérprete para un lenguaje de programación. Puedes ver un video con GNU APL trabajando en un buffer here.

Al igual que IPython, trabajas en tu propio búfer y ves el resultado en un búfer reutilizable.

ya que pasé mucho tiempo en Stackoverflow el estudio de las respuestas de las tres páginas siguientes:

Voy a publicar la misma respuesta en los tres páginas; Espero que nadie se sienta perjudicado por este triple post, pero realmente preguntan algo cercano y alguien más podría encontrar mi respuesta interesante para sus propios fines al navegar por la web y encontrar cualquiera de estas tres páginas.

0

Como una nueva (y tal vez mejor) respuesta, ¿puedo sugerirle que pruebe el increíble tenedor neovim de vim? Es un proyecto más nuevo; Lo intenté yo mismo y no encontré ningún problema de compatibilidad con vim (incluido el uso de complementos sofisticados) y tiene exactamente lo que estás pidiendo.

0

neovim ahora son compatibles con la emulación de terminal. Más detalles en help nvim-terminal-emulator en nvim

Cuestiones relacionadas