Я новичок в JS и Vim. Какие плагины помогут мне написать код Javascript?
Рекомендуемые плагины Vim для кодирования JavaScript?
Ответ 1
Синтаксис Проверка/Листинг
Существует очень простой способ интегрировать JSLint или управляемый сообществом jshint.com (что намного лучше ИМО) с помощью Vim, используя плагин Syntastic Vim. См. мой другой пост для получения дополнительной информации.
Просмотр исходного кода/Список тегов
Также существует очень аккуратный способ добавления списка тегов с помощью Mozilla DoctorJS (ранее jsctags), который также используется в Cloud9 IDE Ace онлайн-редактор.
- Установите следующие пакеты, используя ваш любимый пакет-менеджер (Ubuntu
apt-get
, Mac homebrew
и т.д.):-
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
и 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, чтобы сделать 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