7
votes

Comment puis-je réutiliser la même fenêtre / tampon Vim pour la sortie de commande, comme la fenêtre Aide?

Bien que je ne sois pas expert vim, j'ai gratté une démangeaison en travaillant sur Un équivalent VIM rugueux de la fonctionnalité ⌘R de Textmate pour exécuter le code Ruby à partir d'un tampon et afficher la sortie.

Le script n'ouvre actuellement qu'une nouvelle fenêtre (Split) avec : nouveau et met la sortie là-bas. Si vous l'exécutez plusieurs fois, il ouvre plusieurs fenêtres. Idéalement, j'aimerais que cela réutilise la même fenêtre dans chaque page d'onglet, un peu comme : aide fait.

J'ai regardé mais je n'ai pas trouvé de moyen d'y parvenir. Tous les pointeurs?

vim

1 commentaires

Maintenant disponible ici: github.com/henrik/vim-ruby-runner


3 Réponses :


6
votes

Vous pouvez créer un tampon de rayures avec un nom, de sorte que les appels suivants, vous pouvez vérifier si ce tampon est déjà ouvert (et si vous y réutilisez-le) ou si vous en avez besoin d'une nouvelle. Quelque chose comme ceci: xxx


2 commentaires

Après avoir créé un nouveau tampon, vous devez simplement enregistrer son numéro: Soit S: OutputBufnr = bufnr ('%') , puis vérifiez-le avec si bufexists (S: sortiebufnr) .. endif .


Merci! Ceci (et le commentaire de Zyx) m'a signalé dans la bonne direction: GITUB.COM/HENRIK/DOTFILES/COMMIT / ... Une différence est que j'utilise T: varname pour la faire onglet Page locale.



0
votes

Je suppose que vous pourriez le faire manuellement.

Par exemple: P>

:e test1.txt   (or use any existing buffer)
:vs            (or :new or :sp)
:b <tab>       (keep pressing tab until test1.txt comes up. or use the buff no)


0 commentaires

0
votes

Vous pouvez utiliser la fenêtre Quickfix afin que vous puissiez également passer aux erreurs. Si vous obtenez un plugin VIM Compiler de Ruby , vous pouvez exécuter < code>: faire pour exécuter votre code. Vous devriez voir la sortie et les erreurs dans le Quickfix (: copen ).


0 commentaires