Y at-il un moyen d'accéder au terminal tout en utilisant Vim ?
Je n'aime pas ouvrir un autre terminal ou enregistrer et quitter le terminal actuel.
Y at-il un moyen d'accéder au terminal tout en utilisant Vim ?
Je n'aime pas ouvrir un autre terminal ou enregistrer et quitter le terminal actuel.
Réponses:
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
le terminal à reprendre avec vim.
Astuce bonus: cela fonctionne sur presque toutes les applications de terminaux. Utilisez cette option bg
pour permettre à l'application de continuer à s'exécuter en arrière-plan.
%
au lieu de fg
. Ou %1
, %2
etc. si vous avez plusieurs emplois en arrière-plan. jobs
commande les listera. (En supposant bash
que la coquille.)
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 voulez utiliser le shell simultanément avec vim, ajoutez &
à la fin de la commande sh:
:!sh&
:shell
.
http-server
et qu'elle imprime les journaux que je souhaite afficher? J'aimerais pouvoir basculer dans mes fichiers, apporter des modifications, puis revenir aux journaux.
Vous pouvez utiliser la :shell
commande (ou la forme abrégée :sh
). De :help :shell
:
Cette commande lance 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.693 , 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 le 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 courir bash
en appuyant sur Shift+ Tet fermer l'onglet actuel de Conque en appuyant sur Shift+W
C'est perferct si vous avez besoin d'une ouverture / fermeture rapide bash
.
Voici un 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 shell cq de session-terminal ouvert et de basculer entre ces écrans avec le clavier.
Avec la nouvelle version de vim 8.1, tout ce que vous avez à faire est juste :terminal
et le tour est joué! (ceci est construit dans)