Y a-t-il un moyen d'accéder au terminal en utilisant Vim ?
Je n'aime pas ouvrir un autre terminal ou enregistrer et quitter le terminal actuel.
Vous pouvez envoyer à vim le signal SIGTSTP. Vous faites cela en appuyant sur ctrl+z. Vim sera suspendu en arrière-plan et vous pourrez utiliser le terminal. Tapez fg
dans le terminal pour le reprendre avec vim.
Astuce bonus: cela fonctionne sur presque toutes les applications de terminaux. Utilisez bg
pour permettre à l'application de continuer à s'exécuter en arrière-plan.
Dans vim, tapez simplement:
:!sh
:!
lance un processus externe - dans ce cas, sh
, un autre shell. Le contrôle reviendra à vim une fois que vous aurez quitté le shell. Si vous souhaitez utiliser le shell simultanément avec vim, ajoutez &
à la fin de la commande sh:
:!sh&
Vous pouvez utiliser la commande :Shell
(ou la forme abrégée :sh
). De :help :Shell
:
Cette commande démarre un shell. Lorsque le shell se ferme (après la commande "exit"), vous revenez à Vim. Le nom de la commande Shell provient de l'option 'Shell'.
Par défaut, sur Ubuntu, cela vous donnera bash. tapez exit
pour revenir à vim lorsque vous avez terminé.
Depuis récemment vim vous pouvez maintenant faire:
:terminal
Cela a été initialement ajouté dans Vim 8.0.69 , mais avec beaucoup de bugs. Voir :help terminal
:
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
The terminal feature is optional, use this to check if your Vim has it:
echo has('terminal')
If the result is "1" you have it.
[...]
The terminal feature requires the +multi_byte, +job and +channel features.
==============================================================================
1. Basic use terminal-use
This feature is for running a terminal emulator in a Vim window. A job can be
started connected to the terminal emulator. For example, to run a Shell:
:term bash
Or to run a debugger:
:term gdb vim
The job runs asynchronously from Vim, the window will be updated to show
output from the job, also while editing in any other window.
En plus de toutes les réponses.
Vous pouvez installer plugin ConqueTerm
Ce plugin offre la possibilité d’exécuter des programmes interactifs dans les tampons vim.
Après l'installation, vous pouvez ajouter ces 2 lignes à votre .vimrc
:
:nnoremap <S-w> :q!<CR>
:nnoremap <S-t> :ConqueTermSplit bash<CR>
Et vous pourrez exécuter bash
en appuyant sur Shift + Tet fermez l'onglet Conque actuel en appuyant sur Shift + W
C'est perferct si vous avez besoin d'une ouverture/fermeture rapide bash
name__.
Voici gif qui montre à quoi ça ressemble
Une autre option avec screen ou byobu est d'ouvrir un onglet dans ces programmes. Ces programmes rendent assez facile de garder un c.q. Shell ouvert et basculer entre ces écrans avec le clavier.
Avec la nouvelle version de vim 8.1, tout ce que vous avez à faire est simplement :terminal
et le tour est joué! (ceci est construit dans)