VIM + JSLint? - PullRequest
       54

VIM + JSLint?

118 голосов
/ 23 января 2009

Я провожу свои дни в vim, в настоящее время пишу много JavaScript. Я пытался найти способ интеграции JSLint или чего-то подобного в vim для улучшения моего кодирования. Кому-нибудь удалось сделать что-то подобное?

Edit:

попробовал это: Проверка синтаксиса Javascript из Vim , к сожалению, вывод очень грубый.

Ответы [ 6 ]

182 голосов
/ 05 мая 2011

Наилучшим способом IMO является:

  1. Установка Плагин Syntastic Vim - Лучшая проверка синтаксиса для множества языков, плюс он интегрируется с окном Vim location-list (== quickfix ) ,
  2. Выберите один из двух вариантов ниже:

JSLint

  1. Установите jsl (исполняемый файл JSLint) с помощью вашего любимого менеджера пакетов (Ubuntu apt-get, Mac home brew и т. Д.).

Управляемый сообществом jshint.com (лучше, чем JSLint)

  1. Установите node.js с помощью вашего любимого менеджера пакетов.
  2. Установить Узел Диспетчер пакетов : 'curl https://npmjs.org/install.sh | sh ' РЕДАКТИРОВАТЬ: npm является частью node.js NOW
  3. Установить jshint глобально: 'npm install jshint -g'
  4. Поместите файл jshint config в ваш $ HOME dir: '~ / .jshintrc'
  5. Перезаписать Syntastic syntax_checkers/javascript.vim файл с этим - РЕДАКТИРОВАТЬ: НЕ ДОЛЖЕН НЕОБХОДИМОСТЬ С НОВОЙ СИНТАСТИЧЕСКОЙ ВЕРСИЕЙ.

Наслаждайтесь! :)

34 голосов
/ 30 января 2009

Вы можете следить за инструкциями из веб-сервиса JSLint + интеграция с VIM или делать то, что я сделал:

Скачать http://jslint.webvm.net/mylintrun.js и http://www.jslint.com/fulljslint.js и поместите их в каталог по вашему выбору.

Затем добавьте следующую строку в начало mylintrun.js:

var filename= arguments[0];

и измените последнюю строку кода в mylintrun.js ("print (...)") на:

 print ( filename + ":" + (obj["line"] + 1) + ":" + (obj["character"] + 1) + ":" + obj["reason"] );

В выводе mylintrun.js выводится список ошибок, который можно использовать с окном быстрого исправления VIM (: copen).

Теперь установите следующее в VIM:

set makeprg=cat\ %\ \\\|\ /my/path/to/js\ /my/path/to/mylintrun.js\ %
set errorformat=%f:%l:%c:%m

где вы должны изменить / my / path / to / js на путь к SpiderMonkey и / my / path / to / mylintrun.js на путь, куда вы положили файлы JS.

Теперь вы можете использовать : сделать в VIM и использовать окно quickfix (: окно быстрого исправления) для перехода от ошибки к ошибке.

17 голосов
/ 24 сентября 2009

Другой вариант - jslint.vim от Джесси Халлета. Он доступен на GitHub и работает с окном QuickFix в Vim или без него. Это хороший плагин!

6 голосов
/ 24 марта 2012

Я был очень счастлив, используя node-lint

sudo npm -g install jslint

Тогда ударите это где-нибудь в вашем .vim

set makeprg=jslint\ %
set errorformat=%-P%f,
        \%E%>\ #%n\ %m,%Z%.%#Line\ %l\\,\ Pos\ %c,
        \%-G%f\ is\ OK.,%-Q

Теперь :make будет запускать jslint. Ошибки появляются в окне быстрого исправления.

3 голосов
/ 14 ноября 2012

Вот инструкции для Mac OS, обновленные на ноябрь 2012 г. Предполагается, что у вас установлен Homebrew для получения Node.js, и что вы уже установили Syntastic for Vim (я использую https://github.com/carlhuda/janus, который обеспечивает это автоматически):

$ brew install node.js
$ npm install -g jshint

Затем добавьте '/ usr / local / share / npm / bin' в вашу PATH (вероятно, в ~ / .bashrc). Например, добавьте строку: export PATH="$PATH:/usr/local/share/npm/bin"

перезагрузите терминал и убедитесь, что

$ jshint

исполняется из командной строки. Syntastic обнаружит jsHint автоматически. Перезапустите MacVim и наслаждайтесь!

2 голосов
/ 12 сентября 2009

Гораздо лучше передать результаты через Lynx, чтобы справиться с неудачным выбором JSLint HTML для формата вывода. У меня есть запись в блоге о том, как это сделать здесь:

http://www.fleegix.org/articles/2008-09-06-jslint-in-vim-through-lynx

...