2013-12-24 4 views
4

Я унаследовал некоторые C++ код с VIM на основе складывающихся маркеров, как это:Как активировать маркеры vim?

// CONSTRUCTORS/DESTRUCTORS /*{{{*/ 
Foo::Foo() 
{ 
} 
Foo::~Foo() 
{ 
} 
/*}}}*/ 

Что мне нужно положить в мой .vimrc, чтобы позволить складной переключению как гт и пространства-бар?

С моими текущими настройками, когда я нажимаю пробел внутри или zm, vim ничего не делает.

ответ

6

по умолчанию сочетания клавиш для складывания являются za или zm (хотя zm я думаю только закрывает складки, в то время как za переключает их), так что вы должны добавить следующие строки в .vimrc:

set foldmethod=marker, чтобы дать возможность складывания, спровоцированные маркеров ({{{ вещей в вашем коде)

nnoremap <space> za, чтобы включить space, чтобы вызвать сгиб в нормальном режиме.

Но! если вы не уверены, хотите ли вы включить фальцовку в других файлах, вы можете использовать autocmd s, например:

autocmd FileType vim,c++,txt setlocal foldmethod=marker и это гарантирует, что сгибание работает только в vim, C++ и текстовых файлах.

Кстати, вы опубликовали только один вид складчатости, упомянутый vim guru Steve Losh в this article. Прочтите его, чтобы узнать больше о сворачивании. Это супер круто.

0

OK, после того, как прибегая к помощи вокруг некоторого времени, я нашел это, которое, кажется, работает:

set foldmethod=marker                 |~ 
nnoremap <space> za 
0

Если у вас есть только несколько файлов или вы просто хотите использовать опцию (ы) для каждого файла, вы можете использовать modeline. Мое введение в фальсификацию пришло, когда я загрузил скрипт z-shell, и когда я открыл его, с удивлением обнаружил, что все свернуто. Найдено что-то вроде этого в конце файла:

# vim:ts=4:sw=4:ai:foldmethod=marker:foldlevel=0: 

Изменить комментировал соответствует типу кода, и убедиться, есть пространство перед словом vim. Как всегда хорошее место для начала: :help modeline и :help folding. Возможно, вам придется добавить set modeline в ваш .vimrc-файл, если modeline не был установлен во время сборки.

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