Когда я перемещаю линии m
(например :m+1
), все мои складки закрыты. Затем я могу снова открыть складку, zv
и курсор будет в той позиции, в которую я переместился. Я использую складывание с {{{ }}}
отметками и имею set foldmethod=marker
в моем .vimrc.
Как я могу предотвратить закрытие Vim при перемещении линий?
vim -u NONE -U NONE -N
. Это может быть проблема с вашим vimrc или плагином.vim -u NONE -U NONE -N fold-test
и просто настройкаfoldmethod=marker
. Я использую Vim 7.4.712 на Arch. Если я попробую то же самое с Vim на Vim 7.4.160 на CentOS 7, я получу совершенно противоположные результаты (все сгибы открываются при использовании:m+1
). И Vim 7.2.441 на CentOS 6 работает нормально ...fold*
На этих машинах все настройки одинаковы.Ответы:
Вы можете отключить складывание перед
:m+1
использованиемzi
. А затем включите его снова с помощьюzi
.Вы также можете добавить специальное отображение для этого в вашем .vimrc:
источник
Складывание является довольно сложным механизмом (см. Другой ответ, который я дал о складках, для подробного обсуждения сканирования складывания).
Чтобы получить полный ответ, нам нужно увидеть, какие типы плагинов вы загружаете при загрузке экземпляра vim.
Могу поспорить, что есть несколько плагинов, которые изменяют настройки по умолчанию (
vim -u NONE
должны были воспроизвести это). Любой плагин, который изменяет,foldmethod
является вероятной причиной (я попытался бы удалить их 1 на 1 и посмотреть, что вызывает проблему)Если вы вообще не хотите портить свои плагины, я бы порекомендовал вручную настроить параметры синтаксиса + синтаксического анализа, а затем открыть тестовый буфер для подтверждения вашей функциональности. Это может быть разочаровывающим путешествием, чтобы заставить его играть хорошо, но с некоторой неустанной копкой в нем
:help
вы сможете сразить зверя, который сворачивается.источник