Как я могу включить и сделать свертывание кода в 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
.