Рекомендуемые плагины Vim для кодирования JavaScript?
Я новичок в JS & Vim. Какие плагины помогут мне написать код Javascript?
5 ответов
Проверка синтаксиса / Linting
Существует очень простой способ интеграции JSLint или сообщества http://jshint.com/ (что намного лучше IMO) с Vim с помощью плагина Syntastic Vim. Смотрите мой другой пост для получения дополнительной информации.
Просмотр исходного кода / список тегов
Есть также очень удобный способ добавить список тегов с помощью Mozilla DoctorJS (ранее jsctags), который также используется в онлайн-редакторе Ace Cloud9 IDE.
- Установите следующие пакеты, используя ваш любимый менеджер пакетов (Ubuntu's
apt-get
Дом Macbrew
, так далее.):exuberant-ctags
- ПРИМЕЧАНИЕ: после установки убедитесь, что работает
ctags
на самом деле работаетexuberant-ctags
а не предустановленная ОСctags
, Вы можете узнать, выполнивctags --version
,
- ПРИМЕЧАНИЕ: после установки убедитесь, что работает
node
(Node.js)
- клон
DoctorJS
из github:git clone https://github.com/mozilla/doctorjs.git
- Проходи внутрь
DoctorJS
Дир иmake install
(Вам также понадобитсяmake
приложение установлено, но это очень просто).- Есть некоторые ошибки при установке плагина,
make install
не делает трюк на данный момент. А пока я просто добавляю репоbin/
вместо этого мой каталог $PATH. Смотрите DoctorJS GitHub и выпускает страницы для получения дополнительной информации.
- Есть некоторые ошибки при установке плагина,
- Установите плагин TagBar Vim (ПРИМЕЧАНИЕ: это TagBar, а не старый печально известный TagList!).
- ПРИБЫЛЬ.:)
Новый проект - Tern.js
DoctorJS в настоящее время мертв. Есть новый многообещающий проект под названием tern.js. В настоящее время он находится в ранней бета-версии, и должен в конечном итоге заменить его.
Существует проект ramitos / jsctags, в котором в качестве движка используется tern. Просто npm install -g
это, и tagbar будет автоматически использовать его для файлов JavaScript.
snipMate эмулирует систему вставки TextMate и по умолчанию поставляется с набором полезных фрагментов JS (среди прочих). Это очень легко добавить свой собственный.
javaScriptLint позволяет вам проверять ваш код на соответствие jsl.
Также вы можете найти различные файлы синтаксиса JavaScript на vim.org. Попробуйте их и посмотрите, какой из них лучше всего подходит вам и вашему стилю кодирования.
Родной omnicomplete (CtrlX-CtrlO) работает очень хорошо для меня. Вы можете сделать его более динамичным с помощью autoComplPop, но иногда это может раздражать.
изменить в ответ на комментарий tarek11011:
По умолчанию acp не работает для JavaScript, вам нужно немного его настроить. Вот как я это сделал (грязный хак, я все еще Vim Noob):
В vim-autocomplpop/plugin/acp.vim я добавил php
а также javascript
(а также actionscript
) чтобы behavs
так что это выглядит так:
let behavs = {
\ '*' : [],
\ 'ruby' : [],
\ 'python' : [],
\ 'perl' : [],
\ 'xml' : [],
\ 'html' : [],
\ 'xhtml' : [],
\ 'css' : [],
\ 'javascript' : [],
\ 'actionscript' : [],
\ 'php' : [],
\ }
Чуть ниже есть ряд блоков кода, которые выглядят так:
"---------------------------------------------------------------------------
call add(behavs.ruby, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
Я продублировал этот и немного его отредактировал, чтобы он выглядел так:
"---------------------------------------------------------------------------
call add(behavs.javascript, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
и сделал то же самое для actionscript и php.
Если вы хотите редактировать JS/CSS в HTML-документе, вы можете сделать следующее: установить ft=html.css.javascript в командной строке Vim, чтобы заставить ctrlx-ctrlo работать, как ожидается, для имен методов / свойств в блоках JS и свойств / значений в блоках CSS. Однако у этого подхода есть и свои недостатки (странный отступ…).
Этот плагин также полезен: https://github.com/maksimr/vim-jsbeautify. Он обеспечивает полное автоформатирование для JavaScript. Одно нажатие клавиши, и ваш код выглядит красиво. Это может пригодиться и при вставке фрагментов кода. Он использует популярный js-beautifier, который также можно найти в онлайн-приложении. Последнее можно найти прямо здесь: http://jsbeautifier.org/.
Я использую только один js-специфический плагин vim - jslint.vim - https://github.com/hallettj/jslint.vim который проверяет ваш код с помощью правил jslints и также выдает синтаксические ошибки.
Чтобы исправить отступы и автоформатирование (Ctrl =): JavaScript Indent
Чтобы установить ширину отступа, добавьте javascript.vim
файл в ~/.vim/ftplugin dir со следующим содержимым (для двух пробелов):
setl sw=2 sts=2 et