Si le curseur se trouve quelque part dans une fonction très longue, est-il possible de laisser Vim dire à l'utilisateur dans quelle fonction il édite? Par ailleurs, j'utilise taglist mais semble que la liste de balises ne se met pas automatiquement à jour là où vous êtes, même si vous avez déplacé le curseur vers une autre fonction.Comment détecter une fonction dans Vim?
Répondre
Le plugin taglist fournit cette fonctionnalité. La fonction dans laquelle le curseur est actuellement positionné est automatiquement mise en surbrillance dans la liste des fonctions de la liste de balises.
Assurez-vous que Tlist_Auto_Highlight_Tag n'est pas égal à 0 pour activer cette fonctionnalité. 'Updatetime' définit le temps d'inactivité qui doit s'écouler avant que la liste de balises ne mette en évidence la fonction en cours. La valeur par défaut est 4 secondes.
:help taglist.txt See section "Highlighting the current tag"
Comme un test rapide: Type: TlistHighlightTag pour forcer taglist à mettre en évidence la fonction en cours. Si cela fonctionne, je suppose que vous avez désactivé la mise en surbrillance automatique de manière (voir Tlist_Auto_Highlight_Tag).
En plus de la réponse de Habi, si vous voulez le faire sans utiliser de liste de mots-clés, vous pouvez facilement définir une fonction qui fonctionnera. Cela dépend de quelle langue vous la programmation, mais pour les langages de type C, vous pouvez le faire:
nmap ,f call ShowFuncName()
" Show the name of the current function (designed for C/C++, Perl, Java etc)
fun! ShowFuncName()
let lnum = line(".")
let col = col(".")
echohl ModeMsg
echo getline(search("^[^ \t#/]\\{2}.*[^:]\s*$", 'bW'))
echohl None
call search("\\%" . lnum . "l" . "\\%" . col . "c")
endfun
Mettez ça dans votre vimrc puis appuyez sur ,f voir la fonction en cours.
Extrait de here.
- 1. Comment détecter vi (pas vim) dans .vimrc?
- 2. Détecter dynamiquement HTML5 dans vim
- 3. Comment détecter la position de la fenêtre dans vim
- 4. comment détecter les lignes de code avec regex dans VIM
- 5. Comment détecter movieclip stop(); fonction?
- 6. Vim: Comment savoir où une fonction est définie? .. (
- 7. Comment écrire une fonction vim qui appelle VimGrep?
- 8. touches de fonction de mappage dans vim
- 9. détecter si le type est une fonction
- 10. comment détecter une fonction a été appelée avec javascript
- 11. Comment régler la combinaison de touches Méta-Fonction dans Vim?
- 12. Détecter le type de fichier depuis le plugin VIM?
- 13. fonction VIM pour insérer timestamp
- 14. Comment désactiver une commande intégrée dans vim
- 15. Quelle est la différence entre "fonction" et "fonction!" dans VIM?
- 16. Rechercher une sélection dans vim
- 17. Vim: Appelle une commande ex (ensemble) de la fonction?
- 18. Détecter si une clé est liée à quelque chose dans vim
- 19. définition de la fonction VIM personnalisée/emplacement
- 20. Comment détecter un mot dans une image
- 21. Utilisation d'un argument d'une fonction en mode normal dans Vim?
- 22. Comment envoyer l'état à la ligne d'état VIM après avoir appelé la fonction personnalisée VIM (Python)
- 23. Comment détecter une boucle infinie dans un appel récursif?
- 24. chaîne valide dans vim?
- 25. Vim: comment utiliser les variables dans vimrc?
- 26. comment définir provisoirement makeprg dans vim
- 27. Comment détecter une texture d'image?
- 28. comment construire vim avec la fonction cscope activée
- 29. vimscript: Comment détecter si un fichier spécifique existe
- 30. Vim: Appel d'une fonction personnalisée de jeu statusline dans vimrc