j'ai indexé mon C++ codebase avec ctags, je peux ouvrir un fichier d'en-tête comme suit:VIM ouvert c fichier d'en-tête de ++ en division verticale en combinant trois commandes
:tag myfile.h
(Peu importe où MYFILE.H est situé, tant qu'il est à l'intérieur du code de base indexé il correctement ouvert dans vim)
Quand je l'édition d'un C++ fichier, je peux obtenir le nom du fichier d'en-tête comme suit:
:e%<.h
par exemple lors de la modification de myfile.cpp, l'exécution de cette commande affichera myfile.h sur la ligne de commande.
Un fichier peut être ouvert en division verticale, par l'émission:
:vs <myfile>
Maintenant ce que je veux accomplir, est d'avoir une commande ou une fonction que je peux utiliser pour ouvrir un fichier d'en-tête du correspondant Fichier C++ que je suis en train d'éditer en split vertical. Par conséquent, fondamentalement, je veux combiner les 3 commandes ci-dessus comme si je serais en train de faire une pipe Unix, par exemple:
:vs tag | e%<.h
" :vs to open file in vertical split
" :tag to find tag
" :e%<.h to get header filename
Il est évident que le tuyau Unix ne fonctionne pas sur vim, sinon j'ai essayé d'écrire une fonction à laquelle j'assigne le résultat d'une commande à une variable, par exemple
headerFileName = :e%<.h
Ce qui est apparemment pas la bonne façon de le faire, je suis un peu perdu ici, donc j'espère que quelqu'un peut apporter une aide.