Jak mogę włączyć i zrobić składanie kodu w Vimie?
Czy muszę coś zmienić ~/.vimrc
?
I typ z+ ai z+ ci z+ oi nic się nie dzieje.
Oto artykuł na temat składania: Składanie kodu w Vimie .
Jak mogę włączyć i zrobić składanie kodu w Vimie?
Czy muszę coś zmienić ~/.vimrc
?
I typ z+ ai z+ ci z+ oi nic się nie dzieje.
Oto artykuł na temat składania: Składanie kodu w Vimie .
Odpowiedzi:
No nie trzeba umieścić polecenie z tej strony związanej w twojej ~/.vimrc
, można po prostu wpisać je po wydaniu :
w vim
celu uzyskania wiersza polecenia.
Jeśli jednak wstawisz linie:
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2
jak wskazano w podanym linku, ~/.vimrc
nie musisz ich wpisywać za każdym razem, gdy chcesz użyć zwijania pliku. set nofoldenable
Zapewnia, że podczas otwierania, pliki są „normalne”, czyli nie spasował.
:
. Wpisujesz set
polecenia po monicie, który pojawia się podczas pisania :
. Wpisujesz zc
, kiedy możesz swobodnie przesuwać kursor, tak jak byś użył, zt
aby uzyskać tekst, który kursor znajduje się na górze bieżącego ekranu.
Domyślna metoda składania Vima manual
oznacza, że fałdy są tworzone ręcznie; w przeciwnym razie, nie ma fałd być zamknięte lub otwarte za pomocą za, zo, lub zc, jak to opisano. Ale możesz utworzyć zakładkę zf{motion}
w trybie normalnym lub zfw trybie wizualnym ; np. zfjtworzy zagięcie dla bieżącej linii i następnej następnej w trybie normalnym .
indent
Przyjęta odpowiedź @ Antona opisuje, jak ustawić metodę składania na indent
; tzn. składanie jest określone przez poziom wcięć.
syntax
W bardziej wygodny sposób fałdy mogą być tworzone automatycznie na podstawie składni języka bieżącego bufora. Jeśli używasz języka programowania, nazwijmy go L , a masz składaną definicję L (np. Zainstalowałeś wtyczkę Vim, w której zdefiniowane są informacje o składaniu L ; takie jak c.vim dla C / C ++ lub python -mode dla Python), wystarczy ustawić metodę składania na syntax
:
set foldmethod=syntax
Otóż to. Najbardziej przydatne polecenia do pracy z foldami to:
foldlevel
o jeden.foldlevel
o jeden.foldlevel
do zera - wszystkie fałdy będą otwarte.Nie musisz go używać systematycznie: zazwyczaj ręcznie wybieram fałdy według ruchu lub sekcji. Na przykład składanie akapitu jest zfip
i składanie kolejnych 20 wierszy jest zf20j
. Służy za
do przełączania i zd
usuwania.
Wymaga to trochę więcej pracy, ale pozwala, aby twoje składanie odzwierciedlało dane zadanie.
Możesz włączyć folding
w bieżącej sesji, np. Odpowiedź @ Anthon. Ale jeśli chcesz, aby była trwała, musisz ustawić przynajmniej tę linię w .vimrc
pracy składania:
set foldmethod=indent
indent
to rodzaj składania, z którego widać więcej :help foldmethod
'foldmethod' 'fdm' string (default: "manual")
local to window
{not in Vi}
{not available when compiled without the +folding
feature}
The kind of folding used for the current window. Possible values:
fold-manual manual Folds are created manually.
fold-indent indent Lines with equal indent form a fold.
fold-expr expr 'foldexpr' gives the fold level of a line.
fold-marker marker Markers are used to specify folds.
fold-syntax syntax Syntax highlighting items specify folds.
fold-diff diff Fold text that is not changed.
Teraz za każdym razem, gdy otwierasz plik vim
, możesz zobaczyć, że kod jest składany zgodnie z ustawioną metodą. Następnie można użyć za
, zc
, zo
.