2013-05-22 8 views
1

У меня возникла странная проблема: vim не расширяет мои складки, когда я использую горизонтальный жест вроде l. Он всегда расширяется, если я использую zo. Я могу видеть hor в моей настройке настроек foldopen. Я испытываю это, когда foldmethod настроен либо на indent, либо на expr. Что я могу пропустить? Кажется, я не показываю l где угодно.Иногда vim не расширяет складные горизонтальные движения

Благодаря

+2

Вы идентифицировали шаблон? Ситуация, когда это более вероятно? – romainl

+0

Кажется, что это происходит случайным образом, я не мог идентифицировать шаблон. Существуют методы, когда это происходит чаще, но они не отличаются от других. Я использую expr и просто проверяю первый символ строки, очень простой. – egdmitry

ответ

4

Если курсор находится на пустой строке внутри складки затем левый ход (l) не будет работать, поэтому он не будет открывать створку.

То же самое происходит, если ваш курсор находится в последнем столбце в строке. Но в этом случае h сделает сгиб открытым.

Вы можете проверить, не сработала ли команда движения, обратив внимание на звуковой сигнал ошибки, то же самое происходит при нажатии Esc, когда вы находитесь в нормальном режиме. Если вы не можете его услышать, вы можете попробовать использовать опцию 'visualbell'.

+0

Спасибо! Это действительно было проблемой. – egdmitry

+0

В качестве альтернативы вы можете ': установить whowrap + = h, l', что заставляет эти команды перемещаться по строкам; но имейте в виду, что это нестандартное поведение. –

+0

Ничего себе. Меня это действительно беспокоило. Теперь это имеет смысл, но очень странно, что vim всегда показывает, что курсор находится в самом первом положении строки папок, что заставляет меня думать, что он должен находиться на одном и том же месте реального разворачиваемого текста. Не тот случай. Вы должны думать о позиции курсора, поскольку текст всегда разворачивался. –