Плутанина щодо складання vim - як відключити?


116
  1. Коли я відкриваю файл, він виглядає приблизно так: введіть тут опис зображення або навіть так введіть тут опис зображення
  2. Коли я відкриваю всі складки, вони знову закриваються, коли я перейшов до іншого буфера і повернувся назад.
  3. Щоб мати можливість працювати з цим, я повинен застосовувати zRщоразу, коли відкриваю буфер.

У мене вони створені .vimrc:

set foldlevelstart=99
set foldlevel=99

Будь ласка, вкажіть мені, як відключити складання або принаймні зробити навігацію до іншого буфера, щоб не закривати відкриті.


2
Перший запуск vim, запустіть :set foldlevelі :set foldlevelstartподивіться, на що вони встановлені. Моя загальна здогадка полягає в тому, що ці значення десь скидаються. Коли я додаю ці значення до свого vimrc, все працює так, як очікувалося.
cledoux

Відповіді:


209

Ти не один.

set nofoldenable    " disable folding

7
Зауважте, що це не впливає на vimdiff. Коли vim створює розрізне вікно, схоже, це перекриває foldenableваріант. Єдине вирішення, яке я знайшов, - це встановити contextпід-варіант diffoptна щось дійсно величезне. наприклад:set diffopt+=context:99999
Лоранс Гонсальвс

14
це було vim-markdown . Щоб відключити складання за допомогою vim-markdown, використовуйтеlet g:vim_markdown_folding_disabled=1
BenjaminGolder,

1
@BenjaminGolder ми встановили, що за адресою: github.com/plasticboy/vim-markdown/pull/131
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

2
Мені подобається рішення glts 'нижче нижче: використовуйте' zi 'для перемикання складних. Однією з небагатьох великих проблем з vim є велика кількість речей, які слід пам’ятати. Маленькі речі на зразок 'zi' замість 'foldable' надсилаються богом!
Тьеррі

1
здається, для мене це не працює :( код пітона все ще
складний

55

Найпростіший спосіб відключити (і включити) складання на льоту - це zi.

zi- це команда звичайного режиму, яка перемикається так 'foldenable'само, як і :set foldenable!.

Мнемонічне: "скласти i nvert". Див :h zi.


44

Додайте set nofoldenableдо свого ~ / .vimrc, щоб відключити складання.


@Magnus: Це робиться навмисно, vimdiffщоб уникнути показу ряду ідентичних рядків. Випадок використання інший, тому на нього не впливає nofoldenable. zRвідкриває всі складки; Я не знаю про налаштування, яке відключає складання vimdiff. (Оскільки це одне місце, де складання мене не турбує.)
DevSolar

16

Ось стаття, яка коротко і стисло підсумовує, чому складання класно. Причина однієї лінії полягає в тому, що складання робить вітрину дуже великих файлів легким вітром.

Якщо ви хочете залишити складку увімкненою і просто завжди починати з відкриття всіх складок, вікі-версія vim розповість як. Цікавим для вас методом був би, ймовірно, метод автокомандування.

" Tweak the event and filetypes matched to your liking. 
" Note, perl automatically sets foldmethod in the syntax file
autocmd Syntax c,cpp,vim,xml,html,xhtml setlocal foldmethod=syntax
autocmd Syntax c,cpp,vim,xml,html,xhtml,perl normal zR

Я також рекомендую шукати спеціальні методи складання для мови, якою ви користуєтесь. Просто "goggling" vim <вставте мову тут> згортання "повинно запропонувати ряд варіантів. Пограйте з різними варіантами, поки не знайдете сподобався вам спосіб складання.


4

Я додав цей рядок до мого .vimrcфайлу, тому що у мене була та сама проблема:

autocmd FileType * exe "normal zR"

Ця команда буде виконуватися кожного разу, коли ви автоматично відкриєте файл. Таким чином, ви не побачите помилку, і функція складання теж не буде втрачена)


3

Просто додайте ще одну, щоб зробити її завершеною до дискусії.

Щоб увімкнути складання коду:

:set foldenable або коротше, :set fen

Щоб вимкнути складання коду:

:set nofoldenable або коротше, :set nofen

Після ввімкнення складання коду ви матимете всі команди, як zf,zo etcза вашим бажанням, відповідно до того, :set fdm=xxxxде знаходяться типові значенняexpr,syntax,manual etc.


1

Вибачте, якщо я відповідаю на відповідне запитання, але мені здається корисним відобразити два файли поряд зі складанням, вимкнутими щось подібне:

vim "+set nofen" -O file1 file2

1

Vim робить надзвичайно важко відключити складання, особливо при використанні vimdiff.
Жодне з наведених вище рішень не працювало для мене, але це зробило (додайте до ~ / .vimrc):

au WinEnter * set nofen
au WinLeave * set nofen

1

Я встановлюю foldlevel=20, foldlevelstart=20і використовую foldmethod=syntax. Це допоможе мені працювати з правильним складанням у vim.

set nofoldenable відключити складання, але іноді мені це потрібно

vim.wikia

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