Accès au terminal pendant que vous êtes sur Vim

35

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.

    
posée Mohammad Reza Rezwani 12.07.2014 - 14:39
la source

6 réponses

62

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.

    
réponse donnée noleti 12.07.2014 - 14:49
la source
34

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&
    
réponse donnée sbell 12.07.2014 - 15:22
la source
20

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é.

    
réponse donnée evilsoup 12.07.2014 - 19:17
la source
6

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

    
réponse donnée c0rp 14.07.2014 - 13:38
la source
4

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.
    
réponse donnée gauteh 31.08.2017 - 11:23
la source
3

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.

    
réponse donnée immeëmosol 15.07.2014 - 09:11
la source

Lire d'autres questions sur les étiquettes