Как вы используете функцию fastfix vim?

Я довольно новый пользователь Vim, и я обнаружил, что его кривая обучения довольно крутая (по крайней мере для меня). Я только что установил этот vim script для проверки ошибок JavaScriptLint, который показывает ошибки в окне quickfix vim после сохранения буфера.

Однако, я не знаю, что делать дальше.. Как прокрутить все ошибки? Как закрыть окно quickfix? Как я могу проверить его на наличие ошибок после внесения изменений в мой код?

Я посмотрел документы vimp quickfix, но количество команд огромно, и я не могу найти то, что хочу. Любая помощь будет оценена.

Вопрос: есть ли способ проверить javascriptlint на ошибки js для кода, находящегося в файле .html?

Спасибо!

Ответ 1

Как вы сказали, для быстрого исправления существует множество команд, но я склонен обнаруживать, что использую их только небольшое подмножество:

:copen " Open the quickfix window
:ccl   " Close it
:cw    " Open it if there are "errors", close it otherwise (some people prefer this)
:cn    " Go to the next error in the window
:cp    " Go to the previous error in the window
:cnf   " Go to the first error in the next file

Я склонен использовать это с :make и :vimgrep, поэтому я не могу комментировать проверку на наличие ошибок в JavaScript, но это должно дать вам кое-что для начала.

Что касается общего использования JavascriptLint, я не программист javascript, но похоже, что скрипт предоставляет функцию под названием "JavascriptLint", поэтому, если вы хотите вызвать ее вручную, вы можете использовать :call JavascriptLint(). Тем не менее, он работает с копией файла на диске, поэтому его сначала нужно сохранить. Если (и только если) командная строка jsl работает с html файлами, вы сможете использовать :call JavascriptLint() в html файле для проверки внутреннего javascript. Вы также можете сделать:

autocmd BufWritePost,FileWritePost *.html call JavascriptLint()

чтобы автоматизировать это. Если jsl не поддерживает html файлы, то (если не считать исправления приложения или обращения к автору с просьбой изменить его), это, вероятно, безнадежная причина...

Ответ 2

Самый простой способ навигации по списку quickfix (или списку местоположений, если на то пошло) - плагин unimpaired.

Как только окно quickfix заселяется, [q и ]q перейдите вперёд и назад (соответственно) в список быстрого удаления. [q и ]q перейти к началу и концу (что особенно удобно, если у вас есть только один элемент в списке, что делает vim жалуется на [q и ]q). Итак, рабочий процесс:

  • Запустить любую команду, которая заполняет список быстрых клавиш
  • Введите [q, чтобы перейти к первому элементу
  • Прокрутите последующие элементы (если есть) с помощью [q и ]q

Если вы используете Syntastic, вы получите список местоположений вместо списка quickfix. Нет проблем; просто используйте [L, ]L, [L и ]L таким же образом.

unimpaired также имеет множество других удобных отображений - [e и ]e "пузырьковые" линии вверх и вниз, [<Space> и ]<Space> вставлять пустые строки сверху и снизу и т.д. Я никого не удивил упоминал это здесь раньше; вероятно, потому, что он не существовал до января 2010 года, хотя вопрос был задан в 2009 году.

Ответ 3

Вы также можете использовать :cc 2 (или любой другой номер) для перехода, в данном случае, второй ошибки в окне быстрого исправления. Навигация с помощью :cn, :cc 4 и т.д. Помещает курсор в соответствующую строку.

Ответ 4

В файле .vimrc поместите следующие две строки:

map <C-j> :cn<CR>
map <C-k> :cp<CR>

Теперь вы можете перемещаться по ошибкам с помощью ctrl-j и ctrl-k, которые имитируют стандартные команды перемещения вниз и вверх j и k.

Ответ 5

Оптимальным способом интеграции синтаксиса JavaScript является использование плагина Syntastic Vim, в котором используется список местоположений Vim (который параллелен quickfix) окно.

Я написал ответы на этот вопрос и этот вопрос, объясняющий, как это сделать, плюс также как получить просмотр исходного кода/список тегов для Vim, используя управляемый сообществом jshint.com (который лучше, чем JSLint IMO) и Mozilla DoctorJS (ранее jsctags).

Ответ 6

окно quickfix работает в основном как любое другое окно vim: j вниз строка, k вверх по строке: cn, чтобы перейти к следующей ошибке/предупреждению и т.д.

эксперимент!

Ответ 7

Возможно, этот вариант не существовал, когда этот вопрос был написан (или, может быть, я смущаю себя, потому что в моем .vimrc что-то есть), но когда я получаю Quickfix List, я просто перемещаю его j и k, затем нажмите <CR> (т.е. клавишу Enter), чтобы перейти к этому месту в файле.

Затем, чтобы вернуться к Quickfix List, я набираю Ctrl + W j для "перемещения вниз по окну", и я вернулся.

Наконец, когда я закончил, просто наберите :q, например, я бы закрыл любое нормальное окно.

Ответ 8

В дополнение к замечательному ответу @DrAl о том, как открывать и закрывать быстрое окно и перемещаться между записями, я сделал изображение, чтобы показать некоторые другие команды навигации быстрого исправления.

Каждая группа из 3 файлов ниже представляет собой набор результатов быстрого исправления, например, из vimgrep. все меньше и меньше для прохождения исторических наборов результатов. enter image description here