Sono nuovo di JS e Vim. Quali plugin mi aiuterebbero a scrivere codice Javascript?
Sono nuovo di JS e Vim. Quali plugin mi aiuterebbero a scrivere codice Javascript?
Risposte:
Esiste un modo molto semplice per integrare JSLint o jshint.com guidato dalla comunità (che è molto meglio IMO) con Vim usando il plugin Syntastic Vim. Vedi il mio altro post per maggiori informazioni.
C'è anche un modo molto ordinato per aggiungere tag-messa in vendita utilizzando Mozilla DoctorJS (ex jsctags ), che viene utilizzato anche in Cloud9 IDE s' online editor Ace .
apt-get, Mac di casabrew , etc.):
exuberant-ctags
ctagseffettivamente eseguita exuberant-ctagse non preinstallata del sistema operativo ctags. Puoi scoprirlo eseguendo ctags --version.node (Node.js)DoctorJSda github:git clone https://github.com/mozilla/doctorjs.gitDoctorJSdir e make install(Avrai anche bisogno makedell'app installata, ma questo è molto semplice).
make installper il momento non fa il trucco. Per ora aggiungo invece la bin/dir del repo al mio $ PATH. Vedi GitHub e le pagine dei problemi di DoctorJS per maggiori informazioni.DoctorJS è attualmente morto . C'è un nuovo progetto promettente chiamato tern.js . È attualmente in fase beta iniziale e alla fine dovrebbe sostituirlo.
Esiste un progetto ramitos / jsctags che utilizza la sterna come motore. Basta npm install -ge tagbar lo userà automaticamente per i file JavaScript.
git clone --recursive https://github.com/mozilla/doctorjs.gite quindi make install dovrebbe funzionare
git submodule init && git submodule update. Quindi
brew install ctags-exuberant
snipMate emula il ⇥sistema di inserimento di TextMate e viene fornito con un mucchio di utili snippet JS (tra gli altri) per impostazione predefinita. È estremamente facile aggiungerne uno tuo.
javaScriptLint ti consente di convalidare il tuo codice contro jsl.
Inoltre puoi trovare una varietà di file di sintassi JavaScript su vim.org. Provali e vedi quale funziona meglio per te e il tuo stile di programmazione.
L'omnicomplete nativo ( ctrlx- ctrlo) funziona molto bene per me. Puoi renderlo più dinamico con autoComplPop , ma a volte può essere fastidioso.
modifica, in risposta al commento di tarek11011:
acp non funziona per JavaScript per impostazione predefinita, devi modificarlo un po '. Ecco come l'ho fatto (hack sporco, sono ancora un Vim noob):
In vim-autocomplpop / plugin / acp.vim ho aggiunto phpe javascript(e actionscript) a in behavsmodo che appaia così:
let behavs = {
\ '*' : [],
\ 'ruby' : [],
\ 'python' : [],
\ 'perl' : [],
\ 'xml' : [],
\ 'html' : [],
\ 'xhtml' : [],
\ 'css' : [],
\ 'javascript' : [],
\ 'actionscript' : [],
\ 'php' : [],
\ }
Un po 'sotto, c'è una serie di blocchi di codice che assomigliano a questo:
"---------------------------------------------------------------------------
call add(behavs.ruby, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
Ho duplicato questo e l'ho modificato un po 'per assomigliare a questo:
"---------------------------------------------------------------------------
call add(behavs.javascript, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
e ha fatto lo stesso per ActionScript e PHP.
Se si desidera modificare JS / CSS all'interno di un documento HTML che si può fare: set ft = html.css.javascript nella linea di comando di Vim per rendere ctrlx- ctrloil lavoro come previsto dal metodo / proprietà nomi in blocchi di JS e le proprietà / valori in blocchi CSS. Tuttavia, anche questo approccio ha i suoi svantaggi (strano rientro ...).
Questo plugin è utile anche: https://github.com/maksimr/vim-jsbeautify . Fornisce la formattazione automatica completa per javascript. Un tasto e il tuo codice sembra bello. Può tornare utile anche quando si incollano frammenti di codice. Si avvale del famoso js-beautifier, che può anche essere trovato come un'applicazione online. Quest'ultimo può essere trovato proprio qui: http://jsbeautifier.org/ .
Uso solo un plugin vim specifico per js - jslint.vim - https://github.com/hallettj/jslint.vim che convalida il tuo codice con le regole jslints e ti dà anche errori di sintassi.
Per correggere rientro e formattazione automatica (Ctrl =): rientro JavaScript
Per impostare la larghezza del rientro, aggiungi il javascript.vimfile nella directory ~ / .vim / ftplugin con il seguente contenuto (per il rientro di due spazi):
setl sw=2 sts=2 et
~/.vimrc:autocmd FileType javascript setlocal sw=2 ts=2 sts=2