Ich bin neu bei JS & Vim. Welche Plugins würden mir helfen, Javascript-Code zu schreiben?
Ich bin neu bei JS & Vim. Welche Plugins würden mir helfen, Javascript-Code zu schreiben?
Antworten:
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.
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 wird exuberant-ctags
und nicht das Betriebssystem vorinstalliert ist ctags
. Sie können dies durch Ausführen herausfinden ctags --version
.node
(Node.js)DoctorJS
von Github:git clone https://github.com/mozilla/doctorjs.git
DoctorJS
dir und make install
(Sie müssen auch die make
App installiert haben, aber das ist sehr einfach).
make install
die im Moment nicht ausreichen. Im Moment füge bin/
ich stattdessen einfach das Repo- Verzeichnis zu meinem $ PATH hinzu. Weitere Informationen finden Sie auf den GitHub- und Issues-Seiten von DoctorJS .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.
git clone --recursive https://github.com/mozilla/doctorjs.git
und dann die Installation
git 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
und javascript
(und actionscript
) hinzugefügt , behavs
damit es so aussieht:
let behavs = {
\ '*' : [],
\ 'ruby' : [],
\ 'python' : [],
\ 'perl' : [],
\ 'xml' : [],
\ 'html' : [],
\ 'xhtml' : [],
\ 'css' : [],
\ 'javascript' : [],
\ 'actionscript' : [],
\ 'php' : [],
\ }
Ein wenig weiter unten gibt es eine Reihe von Codeblöcken, die so aussehen:
"---------------------------------------------------------------------------
call add(behavs.ruby, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
Ich habe dieses dupliziert und ein wenig bearbeitet, um so auszusehen:
"---------------------------------------------------------------------------
call add(behavs.javascript, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
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…).
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/ .
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.
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):
setl sw=2 sts=2 et
~/.vimrc
:autocmd FileType javascript setlocal sw=2 ts=2 sts=2