Ich bin neu bei JS & Vim. Welche Plugins würden mir helfen, Javascript-Code zu schreiben?
javascript
vim
Tarek Saied
quelle
quelle
Antworten:
Syntaxprüfung / Flusen
Es gibt eine sehr einfache Möglichkeit, JSLint oder das Community-gesteuerte jshint.com (was IMO viel besser ist) mithilfe des Syntastic Vim-Plugins in Vim zu integrieren. Siehe meinen anderen Beitrag für weitere Informationen.
Quellcode-Browsing / Tag-Liste
Es gibt auch eine sehr nette Art und Weise Tag-Liste hinzufügen mit Mozillas DoctorJS (früher jsctags ), die auch in verwendet wird Cloud9 IDE ‚s Ace Online - Editor .
apt-get
, Macs Homebrew
usw.):exuberant-ctags
ctags
tatsächlich ausgeführt wirdexuberant-ctags
und nicht das Betriebssystem vorinstalliert istctags
. Sie können dies durch Ausführen herausfindenctags --version
.node
(Node.js)DoctorJS
von Github:git clone https://github.com/mozilla/doctorjs.git
DoctorJS
dir undmake install
(Sie müssen auch diemake
App installiert haben, aber das ist sehr einfach).make install
die im Moment nicht ausreichen. Im Moment fügebin/
ich stattdessen einfach das Repo- Verzeichnis zu meinem $ PATH hinzu. Weitere Informationen finden Sie auf den GitHub- und Issues-Seiten von DoctorJS .Neues Projekt - Tern.js
DoctorJS ist derzeit tot . Es gibt ein neues vielversprechendes Projekt namens tern.js . Es befindet sich derzeit in der frühen Beta und sollte es eventuell ersetzen.
Es gibt ein Projekt ramitos / jsctags , das Seeschwalbe als Engine verwendet. Nur
npm install -g
es, und Tagbar wird es automatisch für Javascript-Dateien verwenden.quelle
git clone --recursive https://github.com/mozilla/doctorjs.git
und dann die Installationgit submodule init && git submodule update
. Dann machen Sie Schritt 3.brew install ctags-exuberant
snipMate emuliert das Einfügesystem von TextMate ⇥und enthält standardmäßig eine Reihe nützlicher JS-Snippets (unter anderem). Es ist extrem einfach, eigene hinzuzufügen.
Mit javaScriptLint können Sie Ihren Code gegen jsl validieren .
Auf vim.org finden Sie auch eine Vielzahl von JavaScript- Syntaxdateien. Probieren Sie sie aus und finden Sie heraus, welches für Sie und Ihren Codierungsstil am besten geeignet ist.
Das native omnicomplete ( ctrlx- ctrlo) funktioniert bei mir sehr gut. Sie können es mit autoComplPop dynamischer gestalten , aber es kann manchmal ärgerlich sein.
bearbeiten, als Antwort auf den Kommentar von tarek11011:
acp funktioniert standardmäßig nicht für JavaScript, Sie müssen es ein wenig optimieren. Hier ist, wie ich es gemacht habe (Dirty Hack, ich bin immer noch ein Vim Noob):
In vim-autocomplpop / plugin / acp.vim habe ich
php
undjavascript
(undactionscript
) hinzugefügt ,behavs
damit es so aussieht:Ein wenig weiter unten gibt es eine Reihe von Codeblöcken, die so aussehen:
Ich habe dieses dupliziert und ein wenig bearbeitet, um so auszusehen:
und tat das gleiche für Actionscript und PHP.
Wenn Sie JS / CSS in einem HTML-Dokument bearbeiten möchten, gehen Sie wie folgt vor: Setzen Sie ft = html.css.javascript in der Befehlszeile von Vim, damit ctrlx- ctrlowie erwartet mit Methoden- / Eigenschaftsnamen in JS-Blöcken und Eigenschaften / Werten in CSS-Blöcken gearbeitet wird. Dieser Ansatz hat jedoch auch seine Nachteile (seltsame Einrückung…).
quelle
Dieses Plugin ist auch nützlich: https://github.com/maksimr/vim-jsbeautify . Es bietet eine vollständige automatische Formatierung für Javascript. Ein Tastendruck, und Ihr Code sieht wunderschön aus. Dies kann auch beim Einfügen von Codefragmenten nützlich sein. Es nutzt den beliebten js-Verschönerer, der auch als Online-Bewerbung zu finden ist. Letzteres finden Sie hier: http://jsbeautifier.org/ .
quelle
Ich verwende nur ein js-spezifisches vim-Plugin - jslint.vim - https://github.com/hallettj/jslint.vim, das Ihren Code mit jslints-Regeln validiert und Ihnen auch Syntaxfehler gibt.
quelle
So korrigieren Sie den Einzug und die automatische Formatierung (Strg =): JavaScript-Einzug
javascript.vim
Fügen Sie zum Festlegen der Einrückungsbreite eine Datei mit dem folgenden Inhalt in das Verzeichnis ~ / .vim / ftplugin ein (für Einrückungen mit zwei Leerzeichen):quelle
~/.vimrc
:autocmd FileType javascript setlocal sw=2 ts=2 sts=2