Kiedy przesuwam linie za pomocą m
(np. :m+1
), Wszystkie moje fałdy są zamknięte. Następnie mogę ponownie otworzyć składanie, zv
a kursor znajdzie się w pozycji, do której się przeniosłem. Używam składania ze {{{ }}}
znakami i mam set foldmethod=marker
w moim .vimrc.
Jak mogę zapobiec zamykaniu fałd przez vima podczas przesuwania linii?
vim -u NONE -U NONE -N
. Może to być problem z vimrc lub wtyczką.vim -u NONE -U NONE -N fold-test
i właśnie ustawieniefoldmethod=marker
. Używam Vima 7.4.712 na Arch. Jeśli spróbuję tego samego z Vimem na Vimie 7.4.160 na CentOS 7, otrzymam dokładnie odwrotne wyniki (wszystkie fałdy otwierają się podczas używania:m+1
). A Vim 7.2.441 na CentOS 6 działa dobrze ... Wszystkiefold*
ustawienia wydają się takie same na tych komputerach.Odpowiedzi:
Możesz wyłączyć składanie przed
:m+1
użyciem za pomocązi
. Następnie włącz ją ponownie za pomocązi
.Możesz również dodać specjalne mapowanie do tego w swoim .vimrc:
źródło
Składanie jest dość skomplikowanym mechanizmem (patrz inna odpowiedź, którą podałem na temat składania dla szczegółowej dyskusji na temat skanowania składanego).
Aby udzielić pełnej odpowiedzi, musimy sprawdzić, jakiego rodzaju wtyczki ładujesz podczas uruchamiania instancji vima.
Założę się, że istnieje kilka wtyczek, które mucking przy domyślnych ustawieniach vima (
vim -u NONE
powinny były to odtworzyć). Każda wtyczka, która ją zmienia,foldmethod
jest prawdopodobną przyczyną (spróbuję je usunąć 1 do 1 i zobaczę, co powoduje problem)Jeśli nie chcesz w ogóle marnować wtyczek, polecam ręcznie dostosować ustawienia składni + parsowania, a następnie otworzyć bufor testowy, aby potwierdzić swoją funkcjonalność. To może być frustrująca podróż, aby dobrze się grała, ale przy pewnym nieustannym kopaniu
:help
powinieneś być w stanie pokłócić się ze składającą się bestią.źródło