Рекомендуемые плагины Vim для кодирования JavaScript?

Я новичок в JS и Vim. Какие плагины помогут мне написать код Javascript?

Ответ 1

Синтаксис Проверка/Листинг

Существует очень простой способ интегрировать JSLint или управляемый сообществом jshint.com (что намного лучше ИМО) с помощью Vim, используя плагин Syntastic Vim. См. мой другой пост для получения дополнительной информации.

Просмотр исходного кода/Список тегов

Также существует очень аккуратный способ добавления списка тегов с помощью Mozilla DoctorJS (ранее jsctags), который также используется в Cloud9 IDE Ace онлайн-редактор.

  • Установите следующие пакеты, используя ваш любимый пакет-менеджер (Ubuntu apt-get, Mac home brew и т.д.):
    • exuberant-ctags
      • ПРИМЕЧАНИЕ.. После установки убедитесь, что запуск ctags выполняется exuberant-ctags, а не предустановленная ОС ctags. Вы можете узнать, выполнив ctags --version.
    • node (Node.js)
  • Клонировать DoctorJS из github: git clone https://github.com/mozilla/doctorjs.git
  • Зайдите внутрь DoctorJS dir и make install (вам также понадобится приложение make, но это очень простое).
    • Есть некоторые ошибки с установкой плагина, make install не делает трюк на данный момент. На данный момент я просто добавляю репо bin/ dir к моему $PATH. См. DoctorJS GitHub и выдает страницы для получения дополнительной информации.
  • Установите плагин TagBar Vim ( ПРИМЕЧАНИЕ: Это TagBar, а не старый позорный TagList!).
  • PROFIT.:)

Новый проект - Tern.js

DoctorJS в настоящее время мертв. Там появился новый перспективный проект под названием tern.js. Он в настоящее время находится в ранней бета-версии и должен в конечном итоге заменить его.

Существует проект ramitos/jsctags, который использует tern как свой движок. Просто npm install -g он, и tagbar автоматически будет использовать его для файлов javascript.

Ответ 2

snipMate эмулирует систему вставки TextMate и по умолчанию поставляется с кучей полезных фрагментов JS (среди прочего). Очень легко добавить свои собственные.

javaScriptLint позволяет проверить ваш код на jsl.

Также вы можете найти множество синтаксических файлов JavaScript на vim.org. Попробуйте их и посмотрите, какой из них лучше всего подходит для вас и вашего стиля кодирования.

Нативный omnicomplete (ctrl x - ctrl o) работает очень хорошо для меня. Вы можете сделать его более динамичным с autoComplPop, но иногда это может раздражать.

изменить в ответ на комментарий tarek11011:

acp не работает для JavaScript по умолчанию, вам нужно немного его подстроить. Вот как я это сделал (грязный хак, я все еще Vim noob):

В vim-autocomplpop/plugin/acp.vim я добавил php и javascriptactionscript) в 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, чтобы сделать ctrl x - ctrl o работать как ожидалось в имена методов/свойств в блоках JS и свойства/значения в блоках CSS. Однако этот подход имеет и свои недостатки (странный отступ...).

Ответ 3

Этот плагин также полезен: https://github.com/maksimr/vim-jsbeautify. Он обеспечивает полное автоформатирование для javascript. Одно нажатие клавиши, и ваш код выглядит красиво. Это может пригодиться при вставке фрагментов кода. Он использует популярный js-beautifier, который также можно найти в онлайн-приложении. Последнее можно найти здесь: http://jsbeautifier.org/.

Ответ 4

Я использую только один js-специфический плагин vim - jslint.vim - https://github.com/hallettj/jslint.vim, который проверяет ваш код с помощью правил jslints и дает вам синтаксические ошибки также.

Ответ 5

Исправить отступ и автоформатирование (Ctrl =): Отступ JavaScript

Чтобы установить ширину углубления, добавьте файл javascript.vim в каталог ~/.vim/ftplugin со следующим содержимым (для двух пространственных отступов):

 setl sw=2 sts=2 et