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


12

Je connais l'option :!ls, mais je voudrais utiliser l'une des interfaces fractionnées (après est utilisée :sp) comme fenêtre de ligne de commande. Est-ce possible? Si c'est le cas, comment faire?


3
Il existe des plugins et / ou des correctifs pour y parvenir. Mais vous rencontrerez tôt ou tard quelques bizarreries. Ma suggestion est d'utiliser un terminal léger complet à la place, ou screen / tmux.
Marco

vim8 a un mode terminal intégré .. voir ici: superuser.com/a/1312655/658319
alpha_989

Réponses:


9

Contrairement à Emacs, Vim essaie d'être un peu plus minimal lorsqu'il s'agit de travailler avec le shell. Il n'a pas d'option pour inclure le shell interactif dans l'un de ses onglets ou tampons.

Bien qu'il existe des solutions pour cela. Tout comme vous, j'aime vraiment avoir une bashfenêtre dans la même session de terminal que j'ai Vim en cours d'exécution. Il est super utile lors de l'édition de fichiers source. Dans mon cas, j'aime vraiment que l'environnement Ruby REPL fonctionne afin que je puisse tester les instructions avant de les placer dans les fichiers source.

J'utilise Tmux pour accomplir la fenêtre partagée. Dans Tmux, je crée une fenêtre fractionnée (la clé par défaut est ctrl + b, "). Cela ouvrira 2 sessions shell interactives, tout comme une fenêtre fractionnée dans Vim. Ensuite, je lance Vim dans l'une des sessions et je suis prêt.

Vous pouvez voir sur l'image ci-dessous que j'ai divisé la fenêtre horizontalement avec bashen haut et Vim en bas.

entrez la description de l'image ici

J'utilise également Tmux pour prendre en charge la programmation de paires 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 .


8

Vim 8 dispose d'un mode terminal intégré.

Vous pouvez taper :terpour accéder au terminal.

Pour parcourir les commandes de votre shell par défaut, utilisez j,k.

Vous pouvez obtenir plus d'informations en tapant :h terVIM8.

Remarque : votre VIM8 doit avoir +terminalpour que cela fonctionne.


7

Je ne sais pas si vous recherchiez une solution d'écran GNU ou une solution utilisant les séparations intégrées de Vim, mais si vous recherchez cette dernière, cela a fonctionné pour moi:

vim -O file_a.js file_b.js

Cela ouvre les deux fichiers avec une division verticale. Pour un partage régulier (horizontal), utilisez simplement des minuscules à la -oplace.

PS Ctrl+ w, wpour basculer entre les deux (je trouve que c'est un bon moyen de différencier les divisions d'écran et les divisions de Vim).


5
Bien que cela ne réponde pas à la question d'origine, cette réponse a répondu à ma requête de recherche Google qui m'a amené ici. :)
Mihai Alexandru Bîrsan

Idem - merci!
CaseyR


3

Je cherchais cela depuis longtemps et autant que je peux dire, rien de bon n'est vraiment possible. J'ai essayé de nombreux plugins / addons pour vim mais personne ne fonctionnait comme je le voulais.

Celui-ci est bon cependant: ConqueTerm

Cependant, il présente une certaine incohérence avec les couleurs. Essayez-le, peut-être que cela fonctionne pour vous.



1

Vous pouvez utiliser NeoVim, il a un mode terminal intégré similaire à emacs (bien que très nouveau) - cela vous permet de l'avoir dans une fenêtre comme tout autre tampon vim

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.