Je suis programmée en C ++ ou Java. Je souhaite donc utiliser VIM Editor, car il est très flexible. J'ai entendu dire que je peux configurer l'éditeur VIM pour pouvoir aller p>
Avons-nous un vim-er professionnel qui pourrait me dire exactement comment configurer Vim pour cela? Merci d'avance. P>
P.s. Dans le cas où les lecteurs examineront cette question ne sont pas liés à la programmation, je dirais que cela améliore la vitesse de la programmation. Donc, c'est une aide au programmeur. Alors s'il vous plaît ne fermez pas cette question. P>
Edit: J'aimerais aussi savoir comment Vim fonctionne avec le code d'achèvement du code et peut indiquer la liste des méthodes disponibles pour le certain objet? Si oui, j'aimerais savoir comment configurer ces options aussi? P>
8 Réponses :
Ce que vous recherchez, ce sont des fichiers CTAGS et Tags / Tags. CTAGS (je recommande Exuberant CTAGS) est un programme qui analyse les fichiers source des identifiants et crée un fichier indexé. Vous pouvez ensuite utiliser ^] pour passer à la définition de la balise sous le curseur. P>
Il peut y avoir des détails supplémentaires nécessaires pour indiquer à VIM comment trouver le fichier Tags; Je ne suis pas sûr de loin ce qu'ils sont. Mais c'est l'idée générale - exécutez CTAGS sur votre code source, puis utilisez ^]. P>
Alternativement, vous voudrez peut-être regarder GNU Global. C'est un peu plus sophistiqué. Mais CTAG accomplira ce que vous avez décrit. P>
Pour révéler Vim où le fichier Tags est, utilisez l'option Tags. Tapez ": Aide" Tags '"dans Vim pour plus de détails.
Code-Conclusion dans VIM est disponible en tant que vim-scripts: http: //www.vim .org / scripts / index.php p>
Avec la version 7.0 et UP, vous pouvez compléter des noms et des lignes de code de code dans le mode Insérer en utilisant des combinaisons de frappes telles que CTRL-P, CTRL-N et CTRL-X-CTRL-L. L'aide en ligne a tous les détails.
Oui, l'outil qui fournit cet index de symboles s'appelle CTAGS et de nombreux éditeurs UNIX peuvent l'utiliser. Vim est agréable sur la ligne de commande, mais je suggère de dépenser un peu de temps à s'habituer à Kate. C'est un très joli éditeur d'interface graphique moderne, avec la navigation de fichier IDE-like, une bonne sélection de syntaxe, le plus dynamique dynamique que j'ai jamais utilisé, etc. Pour Java, Eclipse et Netbeans valent probablement un look. P>
Vim est sans ombre d'un doute, le meilleur éditeur du monde (viens me chercher des gars d'emacs). La guerre de flamme de côté, ce que j'ai trouvé incroyablement utile pour la programmation C ++ et Java est Eclipse (Meilleur IDE au monde, oui maintenant je pique des Netbeans) avec le plug-in VRAPPER. Vous bénéficiez de tous les avantages d'un environnement de développement entièrement intégré et de la puissance des raccourcis de clavier VIM. P>
VRAPPER ne vous donne pas une émulation complète Vim, mais vous pouvez faire rebondir votre code à l'aide de raccourcis VIM et vous ne perdez aucune de la bonté d'Eclipse. P>
C'est en fait pour diverses valeurs de «monde» mais je vois votre point!
CTAGS en général est la réponse, comme dit Michael E. dit. en Java et C ++, vous pouvez avoir plus d'une méthode avec le même nom. Pour la fin du code dans Vim, j'utilise habituellement ^ p et ^ n. Ce n'est pas sensible au contexte comme l'équivalent dans Eclipse ou MSVC, mais cela fait habituellement le travail. P>
D'autres outils que vous pourriez envisager d'utiliser sont CTAGS * .C * .H code> est un démarrage simple pour un projet contenant tous les fichiers dans un répertoire. Ensuite, comme l'a dit Michael, vous pouvez utiliser ^] pour aller à la définition et ^ t pour revenir à votre retour. Ce sont les mêmes clés que vous utilisez pour vous déplacer dans l'aide de Vim. P>
: TN CODE> ira au suivant et
: TS code> listera les alternatives. P>
cscope code> et (bien sûr) emacs ou éclipse. p>
Comme d'autres les ont dit, vous devez générer un fichier d'index pour VI (M). P>
Je veux juste dire qu'à utiliser Vim pour la programmation Java au lieu d'une IDE moderne, c'est comme utiliser Vim plus une calculatrice au lieu d'une feuille de calcul pour chiffres. Les deux sont corrects pour les petites tâches, mais lors de la mise à l'échelle, vous atteignez un point où la feuille de calcul quitte simplement l'éditeur de texte. P>
Si vous faites une programmation Java pour gagner sa vie, faites-la et votre employeur une faveur et apprenez à utiliser un outil électrique. P>
VIM 7.2 prend en charge les numéros de points flottants, il n'y a donc pas besoin d'une calculatrice :)
Intrigant. Je ne peux tout simplement pas deviner ce que l'éditeur a besoin de chiffres de points flottants pour, alors peut-être que cela ne représente peut-être qu'un pas de plus pour avoir une adhérence ad hoc, spécifiée de manière informelle, une mise en œuvre lente de la moitié de la LISP commune?
Utiliser CTAGS est définitivement le lieu de démarrage, mais n'oubliez pas cscope. Dans les deux cas, vous avez d'abord que CSCOPE et CTAG scannent vos fichiers source et créent leurs bases de données avant de démarrer VIM. Vous devez également vous rafraîchir occasionnellement les bases de données lorsque votre code augmente et change. P>
avec CTAGS, utilisez simplement la commande " De même, avec cscope, utilisez " CTAGS code>" dans votre répertoire de code. Si vous avez une héritière de répertoires, commencez en haut et utilisez «
CTAGS -R code>" pour recueillir tous les répertoires ci-dessous. Démarrez Vim dans le même répertoire que le fichier de balises résultant et VIM doit le trouver et le charger automatiquement. Lorsque vous êtes dans l'éditeur avec le curseur sur une fonction ou un nom de variable, vous pouvez taper '^]' et VIM devrait passer à la définition. P>
cscope -b code>" ou "
cscope -b -r code>" pour obtenir des informations plus détaillées sur la balise. VIM et CSCOPE travaillent ensemble pour vous donner beaucoup plus d'informations telles que l'utilisation d'un identifiant et d'où une fonction est appelée une fonction. Il existe un ensemble de macros pouvant être utilisés pour accéder aux informations. Vous pouvez trouver les macros et leurs significations dans les informations d'aide VIM CSCOPE. P>
La dernière fois que j'ai vérifié, il y a longtemps, aussi, n'oubliez pas Vous pouvez également appeler Une fois que vous êtes à l'aise de définir vos propres fonctions et mappages clés, il y a Beaucoup de façons de faciliter la tâche de programmation répétitive avec ctags code> était correct, mais il a manqué quelques identifiants et
cscope code> avait une option de recherche plus exhaustive, mais encore manqué Quelques identifiants.
grep code> est ce que je préfère. C'est exhaustif mais toujours assez rapide si la base de code source est une taille raisonnable ou que le PC est rapide. Vous pouvez l'appeler à partir vim avec
: grep code>. Voici une version simplifiée de mon propre
_vimrc code> pour montrer comment je l'ai configuré. Je mets des commentaires pour expliquer quelles clés font quoi. P>
* code> (shift-8) et
# < / Code> (Shift-3) Pour rechercher en avant et en arrière pour l'identifiant actuel sous le curseur dans le fichier actuel. J'ai découvert ces inestimables lors de la prise de vue via le code, en particulier lorsque vous recherchez des noms de variables courts tels que «I» et «J» qui correspondraient autrement parties d'autres noms de variable dans une recherche aveugle dans un éditeur de texte classique. P>
: faire code> à partir de
vim code> si vous souhaitez utiliser
faire code>. Il s'arrêtera sur la première erreur de compilation, puis vous pouvez modifier et démarrer la construction à partir de l'intérieur
vim code>. P>
vim code>. p> p>