Comment puis-je ouvrir un Shell à l'intérieur d'une Fenêtre Vim?
Je peux ouvrir un shell à l'aide de la :ligne de commande dans Vim, mais je ne peux pas modifier un fichier, et en même temps utiliser le shell.
Est-il possible de diviser Vim dans plusieurs Fenêtres ou onglets), et ont une coquille ouvert dans l'un d'entre eux?
- Il y a une coquille patch pour vim, mais il ne compile pas plus autant que je sache. Le plus proche que vous allez obtenir à un vrai shell est d'utiliser screen ou tmux. C'est la plus grande chose qui me manque dans vim.
- Ressemble à une copie de stackoverflow.com/questions/1236563/...
Vous devez vous connecter pour publier un commentaire.
Bien cela dépend de votre OS - en fait je n'ai pas tester sur MS Windows - mais Conque est l'un des meilleurs plugins là.
En fait, il peut être mieux, mais il fonctionne.
Vim 8 (et neovim) supporte ce mode natif via le
:ter[minal]
de commande.Voir
terminal-fenêtre
dans les docs pour plus de détails.vsplit term://bash
si vous utilisez Neovim.terminal
commande divise la fenêtre et donne un shell de commande avec couleur spéciale sur la fenêtre de la barre d'état. Slick.:vsp
ou:sp
- splits vim dans les deux cas, mais vous ne pouvez pas utiliser :shell dans un seul d'entre eux.Pourquoi ne pas afficher un autre onglet du terminal pas un autre onglet de vim. Si vous aimez l'idée que vous pouvez essayer:
Ctrl-shift-t.
et de les déplacer entre eux avecCtrl - pageup
etCtrl - pagedown
Si vous voulez juste quelques commandes shell vous pouvez faire une commande shell dans vim à l'aide de
!
Par exemple
:!./a.out
.vim
chemin de la magie comme suit::!./%
Ctrl
-ce que je suppose que votre réponse n'assume gnome-terminal, ou un analogue de l'émulateur.Si vous n'avez pas trouvé encore, vous pouvez utiliser l'incroyable l'écran du plugin.
Conque est également exceptionnel mais je trouve que l'écran beaucoup plus pratique (il l'habitude de "litière" votre tampon, par exemple, et vous pouvez simplement envoyer les commandes que vous voulez vraiment, après leur montage dans votre tampon)
Vous pouvez utiliser
tmux
ouscreen
(deuxième est capable de faire seul horizontale divise sans le patch) pour diviser votre terminal. Mais je ne sais pas le moyen d'avoir une seule instance de Vim dans les deux volets.Je suppose que c'est une assez vieille question, mais maintenant, en 2017. Nous avons neovim, qui est un fork de vim qui ajoute le support de terminal.
Donc invoquer
:term
serait d'ouvrir une fenêtre de terminal. La beauté de cette solution plutôt que de l'aide de tmux (un multiplexeur de terminal), c'est que vous aurez la même fenêtre liaisons vosvim
de l'installation. neovim est compatible avec vim, de sorte que vous pouvez copier et coller votre.vimrc
et le tout fonctionne.Plus d'avantages sont que vous pouvez basculer en mode normal sur le terminal ouvert, et vous pouvez faire une copie et l'édition. Il est également très utile pour git s'engage aussi, je suppose, puisque tout ce qui est dans votre tampon vous pouvez utiliser l'auto-complétion.
Je vais mettre à jour cette réponse depuis vim est également la planification de la libération en charge du terminal, probablement dans vim 8.1. Vous pouvez suivre l'avancement ici:
https://groups.google.com/forum/#!topic/vim_dev/Q9gUWGCeTXM
Une fois qu'il est sorti, je crois que c'est un plus supérieure de l'installation que l'utilisation de tmux.
Shougo de VimShell, qui peut auto-complétion des noms de fichiers si utilisé avec neocomplcache
Pas tout à fait ce que vous demandez, mais vous pouvez être intéressé par mon plugin vim-ordinateur portable qui permet à l'utilisateur de maintenir un processus d'arrière-plan en vie et de le faire évaluer à la partie du document en cours (et à écrire la sortie dans le document). Il est destiné à être utilisé sur de style ordinateur portable des documents contenant des morceaux de code pour être évalué.
Vous pouvez ouvrir un "écran" programme","
l'écran partagé, la coquille ouverte sur l'un et vim sur l'autre.
Fonctionne pour moi.
Je suis actuellement en utilisant tmux.
Installation: sudo apt-get install tmux
Exécuter: tmux
Ctrl + b, suivi par Ctr + % : il se divise votre fenêtre de terminal en deux moitiés verticales.
Ctrl + "flèche gauche | flèche droite" : déplace entre les bornes.