Вопрос
Есть ли какой-либо способ или инструменты для сворачивания функции в vim, например Visual Studio или Eclipse?
Решение
Vim folding commands
---------------------------------
zf#j creates a fold from the cursor down # lines.
zf/ string creates a fold from the cursor to string .
zj moves the cursor to the next fold.
zk moves the cursor to the previous fold.
za toggle a fold at the cursor.
zo opens a fold at the cursor.
zO opens all folds at the cursor.
zc closes a fold under cursor.
zm increases the foldlevel by one.
zM closes all open folds.
zr decreases the foldlevel by one.
zR decreases the foldlevel to zero -- all folds will be open.
zd deletes the fold at the cursor.
zE deletes all folds.
[z move to start of open fold.
]z move to end of open fold.
Источник:документы vim.
Другие советы
ДА.VIM обладает исключительными возможностями складывания.Мне не нравится изучать слишком много элементов управления, я предпочитаю автоматизацию, поэтому вот что я лично использую:
В моем .vimrc:
set foldmethod=indent
set foldlevel=1
set foldclose=all
Это автоматически сворачивает файлы, которые вы открываете, на основе отступа, для всего, что имеет отступ более 1 уровня.Опция foldclose автоматически закрывает сгиб после того, как я выхожу из сгиба.
Элементы управления в файле:
zo - opens folds
zc - closes fold
zm - increases auto fold depth
zr - reduces auto fold depth
И если вас когда-нибудь будут раздражать складки, используйте
: set foldmethod=syntax
или нажмите:
zR
чтобы заставить их всех уйти.
:set foldmethod=syntax
следует автоматически сворачивать все функции и другие блоки, если у вас есть файл синтаксиса для вашего языка.
Vim имеет отличную поддержку при складывании.В справочной системе vim есть хорошая документация.Просто откройте vim и сделайте
:help usr_28.txt
Прочитав это, вы также можете прочитать
:help folding
для получения дополнительной информации.
да, он привязан к клавише 'z', напримерзО открывает все складки.смотрите ": help fold" в vim для получения дополнительной информации.Вы можете выполнить сворачивание в соответствии с очень простыми правилами, такими как отступ, или в соответствии с синтаксисом кода.