PriorMethodDefinition
Renvoie le nom de la première définition de méthode au-dessus du curseur.
Il le fait par search
en reculant pour une ligne contenant le texte 'def'. La fonction de recherche renvoie le numéro de ligne et getline
est utilisé pour récupérer le contenu de cette ligne.
La fonction vérifie qu'elle a trouvé une ligne valide, avant d'utiliser une expression régulière pour obtenir le nom de la méthode et la renvoyer.
Vous pouvez en savoir plus sur ces fonctions si vous êtes curieux de savoir les détails - voir:
:help search
:help getline
:help matchlist
Modifier: vous pouvez également lire sur le modèle d'expression régulière
:help pattern
Mais Je l'ai trouvé un peu confus au début, alors permettez-moi de l'expliquer un peu. Voici l'expression utilisée:
'def \(\w\+\).*'
Cela recherchera tout texte correspondant au modèle suivant: « le texte def
suivi d'un ou plusieurs « mot » caractères \w\+
suivi par un ou plusieurs caractères .*
». La partie correspondant au mot caractères est placée dans un groupe (ou atome), désigné par les parenthèses échappées \(
& \)
. Plus d'informations sur les définitions de caractères de mot, etc. peuvent être trouvées dans le lien d'aide ci-dessus.
La fonction matchlist
renvoie une liste de correspondances, la première [0]
correspondant au texte intégral correspondant à la regex, suivie de sous-requêtes (notre groupe). Nous sommes intéressés par le premier tel submatch, d'où le [1]
.
génial. Votre réponse m'a donné quelques conseils pour commencer à lire le livre vim. Merci. –
L'aide intégrée est excellente, mais vous devez apprendre ce qu'il faut rechercher et comment cela fonctionne. Je commence souvent à chercher dans les pages d'aide, à recourir à une recherche google si cela ne fonctionne pas, puis à revenir aux pages d'aide pour obtenir des informations plus détaillées une fois que je sais ce que je recherche. –