Si j'ai une session vim avec deux divisions, lorsque j'exécute une :!
commande, le résultat est affiché dans toute la fenêtre. Est-il possible d'avoir la sortie affichée uniquement sur le split actif?
11
Si j'ai une session vim avec deux divisions, lorsque j'exécute une :!
commande, le résultat est affiché dans toute la fenêtre. Est-il possible d'avoir la sortie affichée uniquement sur le split actif?
:!
est affichée dans la ligne de commande, dont il n'y en a qu'une, et ne peut être qu'en bas de l'écran. Le mieux que je puisse penser est de créer un nouveau buffer /: split sous l'actuel ...:!
ne va pas à la ligne de commande. Au lieu de cela, la session vim disparaît et toute la fenêtre du terminal affiche la sortie du terminal, y compris ce qui a été imprimé avant d'vim
être invoqué.TERM
paramètre?screen
) ou alternative-screen (intmux
).Réponses:
Vous pouvez utiliser cette commande:
Cela ouvrira une nouvelle division et placera la sortie de la commande dans cette division ( mais pas dans la division actuellement active comme vous l'avez mentionné ).
la source
Vous pouvez faire une commande pour faire exactement ceci:
La commande serait quelque chose comme ceci:
ou
Dans votre,
.vimrc
vous pouvez écrire ceci:Vous pouvez trouver comment créer vos propres commandes avec
:help :command
.la source
Ce ne sera pas possible. Vous devrez diviser votre écran avec un autre outil comme tmux (IIRC), screen, ...
Si vous n'avez pas besoin d'interagir avec le programme exécuté, vous pouvez cependant importer ses résultats directement dans n'importe quelle fenêtre (au sens vim
:h windows
) de votre choix:r!command line
.:h :r!
la source