web-dev-qa-db-fra.com

Est-il possible dans Vim de créer une vue divisée pour une utilisation de la ligne de commande?

Je connais l'option :!ls, mais j'aimerais utiliser l'une des interfaces scissées (après l'utilisation :sp) en tant que fenêtre de ligne de commande. Est-ce possible? Si c'est le cas, comment puis-je le faire?

12
p1100i

Contrairement aux EMACS, VIM essaie d'être un peu plus minimal lorsqu'il s'agit de travailler avec la coquille. Il n'a pas d'option d'inclure la coque interactive à l'intérieur de l'un des onglets ou des tampons de ce type.

Bien qu'il y ait des solutions de contournement pour cela. Tout comme toi, j'aime beaucoup avoir une fenêtre bash dans la même session de terminal que j'ai Vim en cours d'exécution. Il est super utile lors de la modification des fichiers source. Dans mon cas, j'aime beaucoup avoir le Ruby _ _ _ REPL Environnement fonctionnant afin que je puisse tester des déclarations avant de les mettre dans les fichiers source.

J'utilise tmux pour accomplir la fenêtre Split. Dans tmux I Création d'une fenêtre fractionnée (la clé par défaut est Ctrl + B, "). Cela ouvrira 2 sessions de coquilles interactives comme une fenêtre fractionnée dans Vim. Puis je gère Vim dans une des sessions et Je suis prêt.

Vous pouvez voir à partir de la photo ci-dessous que j'ai divisé la fenêtre horizontalement avec bash sur le dessus et Vim en bas.

enter image description here

J'utilise aussi tmux pour soutenir la programmation par paire avec d'autres. Vous pouvez en savoir plus sur ma configuration sur mon blog à - http://jjasonclark.com/remote-pairing-with-ssh-and-tmux-on-a-mac .

9
Jason

Vim 8 a le mode de terminal intégré.

Vous pouvez taper :ter Pour avoir accès au terminal.

Pour naviguer dans les commandes de votre sélection par défaut d'utilisation j,k.

Vous pouvez obtenir plus d'informations en tapant :h ter dans Vim8.

NOTE: Votre VIM8 doit avoir +terminal Pour que cela fonctionne.

8
alpha_989

Je ne sais pas si vous recherchiez un GNU Solution d'écran ou une solution utilisant les divisions intégrées de Vim, mais si vous cherchez ce dernier, cela a fonctionné pour moi:

vim -O file_a.js file_b.js

Qu'un ouvre les deux fichiers avec une scission verticale. Pour une séparation régulière (horizontale), utilisez simplement une minuscule -o au lieu.

P.s. Ctrl+ww Pour basculer entre les deux (je trouve cela un bon moyen de différencier les divisures d'écran et les divisions de Vim).

7
J.M. Janzen

Avez-vous essayé écran ? Toute raison qui ne fonctionnerait pas pour vous?

6
Alex Nye

Je cherchais cela depuis longtemps et autant que je peux dire que rien de bien est vraiment possible. J'ai essayé de nombreux plugins/addons pour Vim mais personne n'a travaillé comme je le voulais.

Celui-ci est bon cependant: conqueterm

Cependant, il a une incohérence avec les couleurs. Donnez-lui un essai peut-être que cela fonctionne pour vous.

3
rowman

Vous pouvez utiliser Neovim, il a un mode de terminal intégré similaire à Emacs (bien que très nouveau) - cela vous permet d'en avoir dans une fenêtre comme n'importe quel autre tampon Vim

1
alcesleo