129 votes

Comment ouvrir un shell dans une fenêtre Vim ?

Je peux ouvrir un shell en utilisant la commande :shell dans Vim, mais je ne peux pas éditer un fichier et utiliser en même temps le shell.

Existe-t-il un moyen de diviser Vim en plusieurs fenêtres (ou onglets), et d'avoir un shell ouvert dans l'une d'elles ?

1 votes

Il y avait un patch shell pour vim mais il ne compile plus rien. Le plus proche que vous puissiez obtenir d'un vrai shell est d'utiliser screen ou tmux. C'est la plus grande chose qui me manque dans vim.

2 votes

On dirait un doublon de stackoverflow.com/questions/1236563/

46voto

Zsolt Botykai Points 20615

Eh bien, cela dépend de votre système d'exploitation - en fait, je ne l'ai pas testé sous MS Windows - mais Conque est l'un des meilleurs plugins du marché.

En fait, ça peut être mieux, mais ça marche.

4 votes

Si vous utilisez Vundle pour gérer les plugins, vous pouvez ajouter le Bundle 'jewes/Conque-Shell' à votre fichier .vimrc, et exécuter :BundleInstall pour l'installer.

0 votes

Une chose à laquelle il faut faire attention : L'exigence +python ou +python3 pour vi peut être un frein dans certains environnements de travail.

0 votes

Voici l'URL mis à jour (avec des captures d'écran) : github.com/wkentaro/conque.vim

19voto

vladv Points 482

:vsp o :sp - divise vim en deux instances mais vous ne pouvez pas utiliser :shell dans une seule d'entre elles.

Pourquoi ne pas afficher un autre onglet du terminal et non un autre onglet de vim. Si vous aimez l'idée, vous pouvez l'essayer : Ctrl-shift-t. et se déplacer entre eux avec Ctrl - pageup y Ctrl - pagedown

Si vous ne voulez que quelques commandes shell, vous pouvez créer n'importe quelle commande shell dans vim en utilisant !

Par exemple :!./a.out .

2 votes

Et pour exécuter un exécutable actuellement ouvert, vous pouvez utiliser vim la magie du chemin comme ça : :!./%

1 votes

Pourquoi ne pas afficher un autre onglet du terminal - tout le monde n'utilise pas vim dans un émulateur de terminal au dessus d'une interface graphique Du Ctrl -Je suppose que votre réponse suppose l'utilisation de gnome-terminal ou d'un émulateur similaire.

8voto

ZyX Points 26516

Vous pouvez utiliser tmux o screen (le second est capable de faire uniquement des divisions horizontales sans patch) pour diviser votre terminal. Mais je ne connais pas le moyen d'avoir une seule instance de Vim dans les deux volets.

4 votes

Screen peut faire des divisions verticales si vous le construisez à partir de git.

8voto

Eelvex Points 4331

Si vous ne l'avez pas encore découvert, vous pouvez utiliser l'incroyable plugin d'écran .

Conque est également exceptionnel mais je trouve screen beaucoup plus pratique (il ne "polluera" pas votre buffer par exemple et vous pouvez juste envoyer les commandes que vous voulez vraiment après les avoir éditées dans votre buffer)

3voto

kuroz Points 58

Shougo VimShell qui peut compléter automatiquement les noms de fichiers s'il est utilisé avec neocomplcache.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X