Перейти к следующей ошибке / код выделен красным - PullRequest
37 голосов
/ 15 июня 2011

При работе с конфликтами при слиянии обычно >>>>>> и ======, вставленные DCVS, синтаксически неверны для файла, в котором я нахожусь, и отображаются красным цветом.При работе с конфликтами слияния было бы полезно иметь команды для перехода к этой ошибке.Когда я набираю :cnext, я просто получаю сообщение «Нет ошибок».Это конфликты слияния Mercurial, поэтому я не могу использовать Fugitive, но я все равно предпочитаю редактировать конфликты слияния вручную.

Есть ли способ перейти к следующей синтаксической ошибке в файле?Я думаю, что эти ошибки продиктованы файлом подсветки синтаксиса.

Ответы [ 3 ]

53 голосов
/ 27 октября 2012

Вы можете использовать :lopen, чтобы открыть окно, содержащее строки ошибок / предупреждений. После этого перейдите к каждому из них.

Фактический ответ заключается в том, что вы можете использовать :lnext для перехода к следующей ошибке, или :lprev, или ] l и [ l (это строчные буквы L), если у вас есть vim-unimaired , что вы делаете, потому что вы не должны использовать Vim без него.

Это будет , а не , фактически перейдет к следующей выделенной красным цветом / текстовой группе ошибки, но перейдет к тому, что диктует ваш синтаксический плагин, как к ошибке (и заполняет список местоположений). невозможно в Vim перейти к определенной группе подсветки, потому что никто еще не удосужился выяснить, как это сделать.

Плагин SRDispHiGrp подходит близко, но если вы не можете сказать по названию, он слишком сложен и запутан для использования человеком.

13 голосов
/ 13 декабря 2011

Я думаю, вы были на правильном пути с :cnext.

:cnext и :cprevious - команды Vim QuickFix; вы можете воспользоваться ими с помощью плагина для проверки кода, который использует режим QuickFix, например pyflakes.vim для Python и jslint.vim / jshint.vim для JavaScript.

Это приведет к тому, что синтаксические ошибки будут отмечены волнистыми красными подчеркиваниями, в отличие от сплошной красной подсветки синтаксических ошибок, которую, я полагаю, вы видите. После этого вы сможете использовать :cnext и :cprevious для перехода к следующей и предыдущей отмеченным ошибкам.

1 голос
/ 15 июня 2011

На основе вопроса здесь, в StackOverflow, этот плагин под названием SrchRplcHiGrp поможет вам в вашей миссии.

...