Как вы используете функцию 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]()