2010-07-11 8 views
13

Ho cercato senza risultati per un'integrazione di bash in vi, come descritto in emacs; il problema è: ho vi apre con 2 viste, una aperta con il comando :split, e voglio usare bash attraverso la seconda vista, mentre sto modificando un file nel primo; se faccio :sh durante la modifica del secondo punto di vista, l'intero pause di sessione e una shell bash è aperto, ma io non sono in grado di modificare il file e utilizzare la shell, allo stesso tempo .. Non voglio usare !<command> o programmi esterni come "terminator" .. Esiste una soluzione? Thxshell Linux (bash) su splitview di vi

+2

vi (presumo Vim)!= emacs, temo - la filosofia dietro i due è completamente diversa –

+0

Lo so :) Vorrei usare vi perché è più portatile e più leggero di emacs ma non posso sopportare che non ci sia una funzione del genere: \ – gc5

+2

I think 'screen (1)' è una bella soluzione se stai su * nix –

risposta

13

Hai provato a cercare plug-in Vim di terze parti? Conque Shell sembra che potrebbe fare il lavoro.

+0

cool: D è davvero quello che stavo cercando :) – gc5

+0

Questo funziona benissimo, sia con gvim che con Macvim. Nice – Jeet

+1

Conque shell ha alcuni svantaggi come tutto è come fatto in modalità di inserimento, quindi è necessario tornare alla modalità normale prima di cambiare windows, non è possibile inserire shell e quindi riavviare nuovamente ... – puk

1

temo questa funzione non è disponibile in (presumibilmente) Vim. È nella lista delle possibili nuove funzionalità. Vedi qui http://www.vim.org/sponsor/vote_results.php. Al momento attuale della scrittura questa è la caratteristica numero due, aggiungere funzionalità IDE. Se vuoi votare per questa funzione dovrai sponsorizzare Vim.

+0

ho sponsorizzato anche il progetto vim, anche se ho trovato nel plugin ConqueShell quello che stavo cercando. Speriamo in un'integrazione o implementazione presto .. – gc5

+1

@Francesco questo probabilmente non accadrà. Leggi ': help shell-window'. Questo mi rattrista :( –

+0

mh ho letto :( – gc5

1

Uso VIM in combinazione con tmux, che gestisce molto bene le suddivisioni della finestra. Sono appena passato a questo flusso di lavoro da una combinazione di terminale e GVIM, tuttavia, e ho incontrato la tua domanda cercando un pezzo mancante dal mio vecchio flusso di lavoro.

potevo correre GVIM dalla riga di comando con il flag "--servername" e aggiungere i file da quella finestra con il flag "--remote-tab". Ora che vivo interamente nel terminale con tmux, non ho la stessa opzione, quindi BBW. :/

0

Mi sono appena scritto un plugin per questo scopo, vedere http://www.vim.org/scripts/script.php?script_id=4887

Non funziona sotto Windows. D'altra parte, utilizza la filosofia Unix: due FIFO, alcune complicate interazioni tra i processi in background. Non richiede python o altro. Permette di eseguire una shell o qualsiasi interprete per un linguaggio di programmazione. Puoi vederne un video con GNU APL che funziona in un buffer here.

Come IPython, si lavora sul proprio buffer e vedere l'output in un buffer zero.

Dal momento che ho trascorso molto tempo su StackOverflow studiare le risposte dei seguenti tre pagine:

Io posto la stessa risposta sui tre pagine; Spero che nessuno venga ferito da questo triplo post, ma in realtà chiedono qualcosa da vicino e qualcun altro potrebbe trovare la mia risposta interessante per i suoi scopi navigando sul web e trovando una di queste tre pagine.

0

Come nuovo (forse meglio e) risposta, mi permetto di suggerire di avere una prova per l'incredibile forcella neovim di vim? È un nuovo progetto; L'ho provato personalmente e non ho trovato alcun problema di compatibilità con vim (incluso l'uso di plugin sofisticati) e ha esattamente quello che stai chiedendo.

0

neovim ora supportano l'emulazione di terminale. Maggiori dettagli allo help nvim-terminal-emulator in nvim