2010-09-07 13 views
5

Jak wyeksportować vim-fałdy z pliku, aby można było przenieść go na inny komputer?Eksportowanie fałd Vim?

Załóżmy na przykład, że tworzę fałdy w pliku i zapisuję je na komputerze lokalnym - gdzie się znajdują "składane" metadane? Czy mogę po prostu skopiować go na inny komputer, czy muszę ponownie odtworzyć fałdy ręcznie?

EDYCJA: Hm, Zauważyłem, że to może być duplikat pytania, ale wciąż nie ma odpowiedzi na pytanie, jak zapisać fałd informacji BEZ modyfikowania pliku źródłowego.

Dzięki

Odpowiedz

5

Zapisz sesję za pomocą komendy :mksession i przywróć ją za pomocą vim -S Session.vim. Plik sesji przywróci prawie wszystko, łącznie z fałdami (chociaż zmiany w pliku zepsują go).

To działa, jeśli trzeba użyć ręcznego fałdy, ale to naprawdę dużo łatwiej zastosować jedną z metod automatycznego krotnie - zbadać indent, syntax i expr i szukać plików składni, które w pełni obsługują fałdowanie.

+0

To znaczy, że przechowuje gdzieś plik Session.vim? Gdzie? – drozzy

+0

Bieżący katalog lub w dowolnym miejscu. Wszystko tam w instrukcji. –

+0

Ponieważ zwykle uruchamiam gvim z ikony na pulpicie, alternatywnym sposobem załadowania pliku sesji jest ': source Session.vim' raz w edytorze. (Moje użycie to zazwyczaj ': mks ~/properties.vim' w nocy i': so ~/properties.vim', jeśli pracuję nad systemem właściwości, wygodna nazwa do zapamiętania, co robiłem ...) –

2

Ok mam zorientowali się stosunkowo bezbolesny sposób to robić. To jednak wymaga pewnych zmian w pliku źródłowym.

Najpierw ustaw wielokrotność znacznik, aby być w stylu java/** **/markery komentarz:

:set foldmethod=marker 
:set foldmarker=/\*\*,\*\*/ 

następnie wewnątrz mojego źródła każdej chwili chcę krotnie po prostu wpisać:

/** This is the title of the section */ 
Some stuff goes here blah 
... 
//the line below "ends" the fold by double star 
/* **/ 

Powoduje to powstawanie fałd dokładnie tak, jak ich oczekuję i jest łatwiejsze w obróbce niż "dynamiczne" lub wizualne składanie.