Проблема: переміщення ліній вертикально закриває складки


9

Коли я рухаю лінії m(наприклад :m+1), всі мої складки закриті. Потім я можу відкрити складку zvще раз, і курсор буде в тому місці, в яке я перемістився. Я використовую складання з {{{ }}}позначками і маю set foldmethod=markerв своєму .vimrc.

Як я можу запобігти закриттю складки vim при русі ліній?


1
Я не можу відтворити це за допомогою vim -u NONE -U NONE -N. Це може бути проблема з вашим vimrc або плагіном.
EvergreenTree

2
Зі мною трапляється навіть із -у НІКОЛЬНО -У НІТО -Н. Я використовую v7.4 на arch linux
день

1
@EvergreenTree У мене така ж проблема. З 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*Налаштування, здається, у цих машин однакові.
Мартін Турнойж

1
Це дуже дивно. Це здається помилкою.
EvergreenTree

3
Це може бути спричинене виправленням 7.4.700, який намагається запобігти, щоб складки
ставали

Відповіді:


2

Ви можете відключити складання перед цим :m+1, використовуючи zi. А потім увімкніть це знову за допомогою zi.

Ви також можете додати спеціальне відображення для цього у вашому .vimrc:

""move line up/down with Shift+up/down
nnoremap <S-Up> zi:m-2<CR>zi
nnoremap <S-Down> zi:m+<CR>zi
inoremap <S-Up> <Esc>zi:m-2<CR>zia
inoremap <S-Down> <Esc>zi:m+<CR>zia

Це працювало для мене. (хоча я використовував різні прив’язки)
IanEdington

1

Складання - досить складний механізм (див. Ще одну відповідь, яку я дав про складки для нюансового обговорення сканування складання).

Для того, щоб дати повну відповідь, нам потрібно буде побачити, який тип плагінів ви завантажуєте під час завантаження екземпляра vim.

Б'юсь у заклад, що є кілька плагінів, які завершують роботу з налаштуваннями vim за замовчуванням ( vim -u NONEмали б це відтворити). Будь-який плагін, який змінить, foldmethodє ймовірною причиною (я б спробував видалити їх 1 на 1 і подивіться, що викликає проблему)

Якщо ви взагалі не хочете спілкуватися зі своїми плагінами, я рекомендую вручну налаштувати параметри синтаксису + розбору, а потім відкрити тестовий буфер, щоб підтвердити свою функціональність. Це може бути розчаровуючим подорож, щоб змусити його грати чудово, але з деяким невпинним копанням у :helpвас повинно бути в змозі перемогти звіра, який згортається.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.