Как я могу включить и сделать свертывание кода в Vim?
Должен ли я что-то изменить в ~/.vimrc?
Я набираю z+ aи z+ cи z+, oи ничего не происходит.
Вот статья о фолдинге: Код сворачивания в Vim .
Как я могу включить и сделать свертывание кода в Vim?
Должен ли я что-то изменить в ~/.vimrc?
Я набираю z+ aи z+ cи z+, oи ничего не происходит.
Вот статья о фолдинге: Код сворачивания в Vim .
Ответы:
Нет , вы не должны поместить команду со страницы вы связаны в вашем ~/.vimrc, вы можете просто ввести их после выдачи :в vimполучить приглашение командной строки.
Однако, если вы поставите строки:
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2
как указано в приведенной вами ссылке ~/.vimrc, вам не нужно вводить их каждый раз, когда вы хотите использовать свертывание в файле. set nofoldenableУбеждается , что при открытии, файлы являются «нормальными», т.е. не сложен.
:. Вы вводите setкоманды после запроса, который вы получаете при наборе :. zcВы набираете , когда вы можете свободно перемещать курсор, так же , как вы бы использовать , ztчтобы получить текст курсор находится на верхней части текущего экрана.
Метод сворачивания Vim по умолчанию manualозначает, что сгибы создаются вручную; не иначе, там нет складка быть закрыты или открыты с помощью za, zoили , zcкак вы описали. Но вы можете создать сгиб zf{motion}в обычном режиме или zfв визуальном режиме; Например, zfjсоздает сгиб для текущей строки и следующей следующей в обычном режиме.
indentПринятый ответ @Anthon описывает, как установить метод сворачивания в indent; т. е. складывание определяется уровнем выемок.
syntaxБолее удобным способом сгибы могут создаваться автоматически на основе синтаксиса языка текущего буфера. Если вы используете язык программирования, назовем его L , и у вас есть сворачиваемое определение L (например, вы установили плагин Vim, в котором определена информация сворачивания L ; например, c.vim для C / C ++ или python -mode для Python), вам просто нужно установить метод сворачивания syntax:
set foldmethod=syntax
Вот и все. Наиболее полезные команды для работы со складками:
foldlevelодин.foldlevelодин.foldlevelдо нуля - все сгибы будут открыты.Вам не нужно использовать это систематически: я обычно вручную выбираю сгибы по движению или сечению. Например, сворачивание абзаца zfipи сворачивание следующих 20 строк zf20j. Используйте zaдля переключения и zdудаления.
Это требует немного больше работы, но позволяет вашему складыванию отражать поставленную задачу.
Вы можете включить foldingв текущей сессии, как ответ @ Anthon. Но если вы хотите сделать его постоянным, вы должны установить по крайней мере эту строку .vimrcдля фальцовки:
set foldmethod=indent
indent вид складывания, вы можете увидеть больше от :help foldmethod
'foldmethod' 'fdm' string (default: "manual")
local to window
{not in Vi}
{not available when compiled without the +folding
feature}
The kind of folding used for the current window. Possible values:
fold-manual manual Folds are created manually.
fold-indent indent Lines with equal indent form a fold.
fold-expr expr 'foldexpr' gives the fold level of a line.
fold-marker marker Markers are used to specify folds.
fold-syntax syntax Syntax highlighting items specify folds.
fold-diff diff Fold text that is not changed.
Теперь, каждый раз, когда вы открываете файл vim, вы можете видеть, что код свернут в соответствии с заданным вами методом. Затем вы можете использовать za, zc, zo.