Jestem nowy w JS i Vimie. Które wtyczki pomogłyby mi w pisaniu kodu JavaScript?
Jestem nowy w JS i Vimie. Które wtyczki pomogłyby mi w pisaniu kodu JavaScript?
Odpowiedzi:
Istnieje bardzo łatwy sposób na zintegrowanie JSLint lub społecznościowej jshint.com (co jest znacznie lepszym IMO) z Vimem przy użyciu wtyczki Syntastic Vim. Zobacz mój drugi post, aby uzyskać więcej informacji.
Jest też bardzo gustowny sposób, aby dodać znacznik z wykazu za pomocą Mozilli DoctorJS (dawniej jsctags ), który jest również stosowany w Cloud9 IDE „s Ace Online Editor .
apt-get
, dombrew
Maca itp.):
exuberant-ctags
ctags
faktycznie działa, exuberant-ctags
a nie jest wstępnie zainstalowany system operacyjny ctags
. Możesz się tego dowiedzieć, wykonując ctags --version
.node
(Node.js)DoctorJS
z github:git clone https://github.com/mozilla/doctorjs.git
DoctorJS
dir i make install
(Będziesz także potrzebować make
zainstalowanej aplikacji, ale jest to bardzo podstawowe).
make install
nie działa. Na razie po prostu dodaję katalog repozytorium bin/
do mojego $ PATH. Zobacz strony GitHub i problemów DoctorJS, aby uzyskać więcej informacji.DoctorJS obecnie nie żyje . Pojawił się nowy obiecujący projekt o nazwie tern.js . Jest obecnie we wczesnej fazie beta i powinien ostatecznie go zastąpić.
Istnieje projekt ramitos / jsctags, który używa rybitwy jako swojego silnika. Po prostu npm install -g
to, a tagbar automatycznie użyje go do plików javascript.
git clone --recursive https://github.com/mozilla/doctorjs.git
a następnie sprawienia, by instalacja działała
git submodule init && git submodule update
. Następnie wykonaj krok 3.
brew install ctags-exuberant
snipMate emuluje ⇥system wstawiania TextMate i domyślnie zawiera kilka przydatnych fragmentów kodu JS (między innymi). Dodanie własnego jest niezwykle łatwe.
javaScriptLint umożliwia sprawdzenie poprawności kodu względem jsl.
Na vim.org można również znaleźć różne pliki składni JavaScript . Wypróbuj je i zobacz, który z nich najlepiej pasuje do Ciebie i Twojego stylu kodowania.
Natywny omnicomplete ( ctrlx- ctrlo) działa dla mnie bardzo dobrze. Możesz uczynić go bardziej dynamicznym dzięki autoComplPop , ale czasami może to być denerwujące.
edytuj, w odpowiedzi na komentarz tarek11011:
acp nie działa domyślnie dla JavaScript, musisz go trochę poprawić. Oto jak to zrobiłem (brudny hack, nadal jestem Vim noob):
W vim-autocomplpop / plugin / acp.vim dodałem php
i javascript
(i actionscript
) do, behavs
aby wyglądało tak:
let behavs = {
\ '*' : [],
\ 'ruby' : [],
\ 'python' : [],
\ 'perl' : [],
\ 'xml' : [],
\ 'html' : [],
\ 'xhtml' : [],
\ 'css' : [],
\ 'javascript' : [],
\ 'actionscript' : [],
\ 'php' : [],
\ }
Nieco poniżej znajduje się seria bloków kodu, które wyglądają następująco:
"---------------------------------------------------------------------------
call add(behavs.ruby, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
Ten zduplikowałem i trochę zmodyfikowałem, żeby wyglądał tak:
"---------------------------------------------------------------------------
call add(behavs.javascript, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
i zrobiłem to samo dla actioncript i php.
Jeśli chcesz edytować JS / CSS w dokumencie HTML, możesz to zrobić: ustaw ft = html.css.javascript w linii poleceń Vima, aby zrobić ctrlx- działaj zgodnie z ctrlooczekiwaniami z nazwami metod / właściwości w blokach JS i właściwościami / wartościami w blokach CSS. Jednak takie podejście ma też swoje wady (dziwne wcięcia…).
Ta wtyczka jest również przydatna: https://github.com/maksimr/vim-jsbeautify . Zapewnia pełne autoformatowanie dla javascript. Jedno naciśnięcie klawisza i Twój kod wygląda pięknie. Może się przydać również podczas wklejania fragmentów kodu. Korzysta z popularnego js-beautifier, który można również znaleźć w aplikacji online. Ten ostatni można znaleźć tutaj: http://jsbeautifier.org/ .
Używam tylko jednej wtyczki vim specyficznej dla js - jslint.vim - https://github.com/hallettj/jslint.vim, która sprawdza poprawność kodu za pomocą reguł jslints i wyświetla również błędy składniowe.
Aby naprawić wcięcia i autoformatowanie (Ctrl =): Wcięcie JavaScript
Aby ustawić szerokość wcięcia, dodaj javascript.vim
plik do katalogu ~ / .vim / ftplugin z następującą zawartością (dla wcięć dwóch spacji):
setl sw=2 sts=2 et
~/.vimrc
:autocmd FileType javascript setlocal sw=2 ts=2 sts=2