Je suis nouveau sur JS & Vim. Quels plugins m'aideraient à écrire du code Javascript?
Je suis nouveau sur JS & Vim. Quels plugins m'aideraient à écrire du code Javascript?
Réponses:
Il existe un moyen très simple d'intégrer JSLint ou le jshint.com géré par la communauté (ce qui est bien meilleur IMO) avec Vim en utilisant le plugin Syntastic Vim. Voir mon autre article pour plus d'informations.
Il y a aussi une façon très soignée pour ajouter un tag-liste à l' aide de Mozilla de DoctorJS (anciennement jsctags ), qui est également utilisé dans Cloud9 IDE de Ace éditeur en ligne .
apt-get
, Mac à la maisonbrew
, etc.):
exuberant-ctags
ctags
réellement exuberant-ctags
et non le système d'exploitation préinstallé ctags
. Vous pouvez le découvrir en exécutant ctags --version
.node
(Node.js)DoctorJS
depuis github:git clone https://github.com/mozilla/doctorjs.git
DoctorJS
dir et make install
(vous aurez également besoin de l' make
application installée, mais c'est très basique).
make install
cela ne fait pas l'affaire pour le moment. Pour l'instant, j'ajoute simplement le répertoire du bin/
dépôt à mon $ PATH à la place. Voir le GitHub de DoctorJS et les pages des problèmes pour plus d'informations.DoctorJS est actuellement mort . Il y a un nouveau projet prometteur appelé tern.js . Il est actuellement en version bêta précoce et devrait éventuellement le remplacer.
Il existe un projet ramitos / jsctags qui utilise tern comme moteur. Juste npm install -g
cela, et tagbar l'utilisera automatiquement pour les fichiers javascript.
git submodule init && git submodule update
. Ensuite, faites l'étape 3.
brew install ctags-exuberant
snipMate émule le ⇥système d'insertion de TextMate et est livré avec un tas d'extraits JS utiles (entre autres) par défaut. Il est extrêmement facile d'ajouter le vôtre.
javaScriptLint vous permet de valider votre code par rapport à jsl.
Vous pouvez également trouver une variété de fichiers de syntaxe JavaScript sur vim.org. Essayez-les et voyez lequel fonctionne le mieux pour vous et votre style de codage.
L'omnicomplete natif ( ctrlx- ctrlo) fonctionne très bien pour moi. Vous pouvez le rendre plus dynamique avec autoComplPop , mais cela peut parfois être ennuyeux.
modifier, en réponse au commentaire de tarek11011:
acp ne fonctionne pas pour JavaScript par défaut, vous devez le modifier un peu. Voici comment je l'ai fait (sale hack, je suis toujours un Vim noob):
Dans vim-autocomplpop / plugin / acp.vim j'ai ajouté php
etjavascript
(et actionscript
) à behavs
pour que cela ressemble à ça:
let behavs = {
\ '*' : [],
\ 'ruby' : [],
\ 'python' : [],
\ 'perl' : [],
\ 'xml' : [],
\ 'html' : [],
\ 'xhtml' : [],
\ 'css' : [],
\ 'javascript' : [],
\ 'actionscript' : [],
\ 'php' : [],
\ }
Un peu en dessous, il y a une série de blocs de code qui ressemblent à ça:
"---------------------------------------------------------------------------
call add(behavs.ruby, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
J'ai dupliqué celui-ci et l'ai édité un peu pour ressembler à ça:
"---------------------------------------------------------------------------
call add(behavs.javascript, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
et a fait de même pour actionscript et php.
Si vous voulez éditer JS / CSS dans un document HTML, vous pouvez faire: définir ft = html.css.javascript dans la ligne de commande de Vim pour faire ctrlx- ctrlofonctionner comme prévu sur les noms de méthode / propriétés dans les blocs JS et les propriétés / valeurs dans les blocs CSS. Cependant, cette approche a aussi ses inconvénients (indentation bizarre…).
Ce plugin est également utile: https://github.com/maksimr/vim-jsbeautify . Il fournit un formatage automatique complet pour javascript. Une touche et votre code est magnifique. Cela peut également être utile lors du collage d'extraits de code. Il utilise le populaire js-beautifier, qui peut également être trouvé en tant qu'application en ligne. Ce dernier peut être trouvé ici: http://jsbeautifier.org/ .
Je n'utilise qu'un seul plugin vim spécifique à js - jslint.vim - https://github.com/hallettj/jslint.vim qui valide votre code avec les règles jslints et vous donne également des erreurs de syntaxe.
Pour corriger l'indentation et le formatage automatique (Ctrl =): JavaScript Indent
Pour définir la largeur d'indentation, ajoutez un javascript.vim
fichier dans le répertoire ~ / .vim / ftplugin avec le contenu suivant (pour une indentation à deux espaces):
setl sw=2 sts=2 et
~/.vimrc
:autocmd FileType javascript setlocal sw=2 ts=2 sts=2