Powiedzmy, że mam bardzo długą linię w edytorze VIM (powiedzmy około 300+ znaków). Jak rozbiłbym to na wiele wierszy, tak aby granice słów z grubsza przekraczały 80 znaków?
Przykład:
This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line
do
This is a really long line
This is a really long line
This is a really long line
This is a really long line
This is a really long line
This is a ...
gq
polecenie byłoby<ESC>
(wyjdź z trybu Insert / Replace / etc), a następniegq80l
gqq
] aaaahhh, jest pięknyNajpierw ustaw vim tak, aby zrozumiał, że potrzebujesz 80 znaków:
następnie podświetlić linię:
i przeformatuj vim:
źródło
Nie jest to tak naprawdę związane z VIM-em, ale możesz użyć programu fmt jak w
źródło
W przypadku ciągłych linii tekstu zaznacz obszar za pomocą v w trybie normalnym, a następnie naciśnij
Spowoduje to dodanie nowej linii na końcu każdego 80-tego znaku.
źródło
Jeśli korzystasz z * nix, prawdopodobnie masz
fold
dostępne.Wybierz region, którego chcesz użyć
v
, a następnie możesz rozbić spacje o szerokości 80 za pomocą:!fold --spaces --width=80
Zasadniczo jest to to samo, co używanie
gq
.Jeśli jednak chcesz po prostu przerwać znak 80 i nie ograniczać się do białych znaków, możesz użyć:
!fold --width=80
Jeśli chcesz to jednym naciśnięciem klawisza, po prostu ustaw mapowanie - użyłem
vmap <f1> !fold --width=80<CR>
źródło
Aby podzielić długie wiersze w całym dokumencie bez usuwania już istniejących podziałów wierszy, użyj:
źródło
Musiałem sformatować cały plik zamiast jednej linii. Jak wskazuje Wernsey, mogłem użyć 'fmt', ale następująca sekwencja w vimie również załatwiła sprawę (zapożyczając z różnych odpowiedzi tutaj):
źródło
Jako szybki i nieprzyjemny, może spróbuj następującej mapy:
który mówi:
Następnie naciśnięcie q i CR podzieli linię na kawałki na granicy słowa.
źródło
Ręcznie wstawiłem „\” (a następnie CR / tab do sformatowania) w każdym LONGLINE po ostatniej spacji, ale przed kolumną 80. To jest do powiedzenia:
teraz wygląda
i kompiluje się normalnie.
źródło