2009-12-14 2 views
5

Я пытаюсь узнать VIM, купите, я заметил, что когда я пытаюсь использовать команду% для перехода к соответствующей скобке, VIM иногда находит правильную совпадающую скобку и иногда выходит из нее. Кто-нибудь когда-нибудь сталкивался с этим решением?Vim находит неправильный сопоставительный кронштейн при использовании%

+5

сообщения некоторых примеры текст что иллюстрирует отказ. – 2009-12-14 20:22:31

ответ

13

Это происходит потому, что:

  1. У вас есть фактические ошибки синтаксиса с несовпадением Paren или фигурной скобкой где-то.
  2. У вас есть значение в cpoptions, которое предотвращает совпадение полуинтеллектуальной привязки. Посмотрите :help cpoptions и :help %.
  3. У вас есть что-то слишком утонченное для простого старого Vim, соответствующего ручке. Попробуйте установить плагин matchit, который может помочь. Обычными виновниками являются фигурные скобки внутри комментариев или регулярных выражений.
+1

есть 4-я неочевидная опция: у меня была «синтаксическая ошибка» в комментарии. – ldog

+1

Комментарии должны были быть включены в # 3. Я должен был быть более явным, потому что фигурные скобки в комментариях - это общий сценарий, который я имел в виду, когда писал №3. –

+4

+1 для брекетов внутри комментарии выпуск. Это очень хромает. – Eduardo

0

Нет, у меня его нет. Это может означать, что у вас отсутствуют скобки.

4

Видимо, ВЬЕТ разбирает скобки даже в комментариях, что происходит в моем случае, я имел незавершенную пару кронштейна закомментирована, то есть Vim не нашли пары скобок, правильно, но компилятор не имело никаких проблем, Отсюда мои спутанность сознания.

+0

Да, комментарии и регулярные выражения являются обычными преступниками, когда у меня возникает эта проблема. Это подразумевалось под № 3 в моем списке. –

2

matchit плагин спас меня от разочарования, если бы я нашел его раньше.

Там есть небольшой шанс вставить эту уродливую команду в терминал будет правильно настроить плагин:

wget http://www.vim.org/scripts/download_script.php?src_id=8196; unzip download_script.php?src_id=8196; echo >> ~/.vimrc; echo -ne "source " >> ~/.vimrc; pwd | tr -d '\n' >> ~/.vimrc; echo -ne "/plugin/matchit.vim" >> ~/.vimrc; rm download_script.php\?src_id\=8196

Затем повторно источник вашего vimrc:

:source ~/.vimrc

+0

Прекрасно работает для меня (и его 2015 сейчас) – user763410