La plupart des éditeurs ont une fonctionnalité comme lorsque vous appuyez sur certaines touches en plaçant un curseur sur une fonction, il affiche la documentation de cette fonction ainsi que le nombre et le type d'arguments que cette fonction prend.
Je me demandais si Vim offre un tel support. Par exemple, lors du codage en C, j'utilise une fonction intégrée qsort()
. Comme je ne suis pas sûr du type et du nombre d'arguments qu'il faut, je voudrais le savoir sans échapper à Vim. C'est possible?
autocompletion
sherelock
la source
la source
'keywordprg'
(le nom d'un programme qui peut gérer la documentation de la langue que vous voulez), puis en appuyantK
sur un mot-clé (qui peut être le nom de une fonction), vous devriez obtenir les informations que vous souhaitez. Par exemple, si vous installezcppman
( github.com/aitjcize/cppman ) et ajoutez un autocmd dans votre vimrc tel queautocmd FileType cpp setlocal keywordprg=cppman
, alors vous devezcppman
gérer la documentation dans un tampon c ++. Non testé cependant.cppman
soit une excellente suggestion, si vous avez installé les pages de manuel C et C ++ (manpages-posix-dev
et leslibstdc++-X.Y-doc
packages sur les systèmes basés sur Debian), plain oldman
devrait fonctionner.Réponses:
Si vous pouvez configurer YouCompleteMe , il prend en charge C, C ++, JavaScript, Go et certains autres langages. Voici en action:
C'est un peu ennuyeux à installer , et une fois qu'il est installé, vous devez le configurer pour C et C ++ en créant un fichier
.ycm_extra_conf.py
. J'en ai retiré un de ce dépôt et j'ai obtenu cet effet.la source
qsort(a
, la fenêtre contextuelle disparaît, ce qui rend difficile la mémorisation des arguments suivants.YcmCompleter GoTo
, qui vous envoie généralement à l'endroit où la fonction / classe a été définie dans le code. C'est la ligne juste au-dessus de la docstring, qui répertorie tout ce que vous avez demandé. Je ne sais pas si le commentaire en ligne est au même endroit en C / Java / C ++.Pour C, appuyez
K
sur le mot-clé pour afficher directement la page de manuel intégrée. Par exemple, placez le curseur sur leprintf
mot - clé:Appuyez maintenant sur
K
(majuscule K) et la page de manuel deprintf
devrait apparaître dans VIM:Cela semble fonctionner dès le départ dans toutes les distributions dérivées de Debian sur lesquelles j'ai essayé, aucune configuration spécifique requise.
la source
printf(1)
la commande, pasprintf(3)
la fonction. Dans tous les cas, les pages de manuel de la fonction C proviennent demanpages-dev
, qui sont généralement installées par défaut, mais pas toujours, et les fonctions POSIX sont présentesmanpages-posix-dev
- généralement pas installées par défaut, pas plus que la documentation C ++ (libstdc++-X.Y-doc
).Si vous voulez une documentation appropriée , le plugin dans le commentaire de saginaw semble couvrir vos besoins en C ++. Je n'en connais pas de générique mais vous pouvez probablement trouver des alternatives pour d'autres langues sur vim.org.
Si…
vous pouvez utiliser
<C-w>}
pour ouvrir la définition du mot-clé sous votre curseur dans une fenêtre d'aperçu. YMMV, bien sûr.Voir
:help preview-window
,:help tags
et:help ctags
.Vous pouvez également utiliser la fonctionnalité intégrée "recherche d'inclusion" de Vim: appuyez sur
[i
pour imprimer la "signature" du mot sous le curseur dans la ligne de commande:Tu vois
:help include-search
.la source
[i
c'est bizarre. Cela fonctionne pourstdlib.h
etqsort
, mais pascstdlib
etstd::qsort
ou justeqsort
.<C-w>
moyenCTRL-W
Quelle est la nomenclature utilisée dans les:help
fichiers. Vous pouvez ensuite utiliser:pc
pour fermer la fenêtre d'aperçu.Le type de fichier C / C ++ de Vim est livré avec une fonction d'omnicompletion décente, qui prend en charge la fonctionnalité "aperçu". Ajoutez donc "aperçu" à votre option completeopt et voyez une signature de fonction lorsque vous insérez l'achèvement du mode.
En mode normal, vous pouvez CTRL + W} pour ouvrir manuellement la déclaration de fonction dans la fenêtre d'aperçu.
la source
Comme mentionné, appuyer
K
sur le mot-clé fonctionne en recherchant une page de manuel. Pour obtenir les pages de manuel C ++, vous pouvez essayer https://github.com/aitjcize/cppman (il obtient les "pages de manuel" de cplusplus.com et cppreference.com).la source
Installez YouCompleteMe. Lorsque vous placez le curseur sur un identifiant, entrez la
YcmCompleter GetDoc
commande pour obtenir le document dans une petite fenêtre d'aperçu en bas. Il fonctionne dans de nombreux langages comme python et c / c ++.Youcompleteme affiche également la fenêtre d'aperçu lors de sa fonction de saisie semi-automatique. Vous pouvez personnaliser le comportement de l'aperçu du document avec une
g:ycm_autoclose_preview_window_after_completion
variable.la source