Y at-il un moyen d’accéder au terminal en utilisant Vim ?
Je n'aime pas ouvrir un autre terminal ni enregistrer et quitter le terminal actuel.
Y at-il un moyen d’accéder au terminal en utilisant Vim ?
Je n'aime pas ouvrir un autre terminal ni 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 reprendre avec vim.
Astuce Bonus: Cela fonctionne sur presque toutes les applications de terminal. 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 quitterez le shell. Si vous souhaitez utiliser le shell en même temps que 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 lance un shell. Lorsque le shell se termine (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 un bash. tapez exit
pour revenir à vim lorsque vous avez terminé.
En plus de toutes les réponses.
Vous pouvez installer plug-in ConqueTerm
Ce plugin permet d’exécuter des programmes interactifs à l’intérieur des buffers 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 lancer bash
en appuyant sur Shift + T , et fermer l’onglet Conque actuel en appuyant sur Shift + < kbd> W
Si vous avez besoin d’ouvrir / fermer rapidement bash
.
Voici gif qui montre à quoi cela ressemble
Depuis le vim récent, vous pouvez maintenant faire:
:terminal
Ceci a été initialement ajouté dans Vim 8.0.693 , mais avec beaucoup de bogues. 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.
Une autre option avec écran ou byobu consiste à ouvrir un onglet dans ces programmes. Ces programmes facilitent la maintenance d'une session de terminal c.q. shell ouvert et basculer entre ces écrans avec le clavier.
Lire d'autres questions sur les étiquettes process vim background