2010-03-02 3 views
31

Есть ли способ или инструменты для работы в vim, например Visual Studio или Eclipse?Fold function in vim

С наилучшими пожеланиями,

+0

Если вы имеете в виду «складывающиеся классы и функции автоматически», вы должны четко разъяснить это в своем вопросе. –

+2

не автоматически, пользователи могут выбрать, какую часть он хочет сбросить –

+0

vim имеет довольно хорошую документацию. Попробуйте: help fold –

ответ

84
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 docs.

+2

zc закрывает фолд под курсором. (предупреждение: вычислил его путем эксперимента) – Srikanth

+4

za переключит складку (откройте, если в данный момент закрыто, и наоборот). Я считаю, что это очень удобно; почти никогда не используют zc или zo. http://vim.wikia.com/wiki/Folding#Opening_and_closing_folds – Aman

+1

'zfgg' сбрасывает все строки сверху до курсора. 'zfG' сбрасывает все строки от курсора до нижнего. –

2

да, она привязана к клавише 'Z', например, zO открывает все складки. см. «help fold» в vim для получения дополнительной информации. Вы можете делать фальцовку в соответствии с очень простыми правилами, такими как отступы или в соответствии с синтаксисом кода.

10
:set foldmethod=syntax 

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

3

Vim имеет отличную складную опору. В справочной системе vim есть хорошая документация. Просто откройте ВИМ и сделать

: помочь usr_28.txt

После прочтения, что вы также можете прочитать

: помочь складной

для более определенной информации.

27

Да. 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 

, чтобы сделать их все уходят ,

+1

это самый практичный ответ, thks @bhekman –

+2

Мне удобно найти: 'set nofoldenable' ' set foldlevel = 99' тоже.Он отключает автоматическое складывание при открытии файла и сбрасывает только внешние функции (не вступая и не складывая «fors» и «ifs», а что нет) Сделал мой конфиг на основе вашего ответа, хотя, спасибо. – merinoff

Смежные вопросы