2009-06-26 13 views

Odpowiedz

88

:%s/ /Ctrl vPowrót/g

Gdzie Ctrl v to Control-key oraz przycisk v i Powrót jest kluczowym return (jeden na głównej klawiaturze, nie klawisz Enter na klawiaturze numerycznej). Pozostałe znaki są wpisywane jak zwykle.

Jeśli jest wpisany poprawnie, sekwencja Ctrl vPowrót będą wyświetlane jako znaki ^M, zazwyczaj w innym kolorze, aby wskazać, że są one wyjątkowe. Zauważ, że w rzeczywistości pisanie ^M będzie działać pod , a nie.

Należy również zauważyć, że w Vimie dla okien jest to Control-q zamiast Control-v (jako, że jest wklejony).


Ctrl-v umożliwia również wprowadzanie innych "specjalnych" klawiszy za pomocą klawiatury. Jest to również przydatne dla np. Tab lub Backspace.

+0

Akceptuję odpowiedź, ponieważ jest ona najbardziej niezależna od systemu. Odpowiedź samoz również działa. Zaskakujące jest to, że polecenie dla Windows działa w moim systemie OS/X, a nie w Uniksie. –

+12

:% s// \ r/g powinno również działać we wszystkich systemach operacyjnych. – DrAl

+0

AL ma rację, sprawdziłem to na moim pudełku ubuntu działa dobrze. – rangalo

7

Wprowadź następujące:

:s//

i teraz wpisać Ctrl-V lub Ctrl-Q (w zależności od konfiguracji) i naciśnij klawisz Enter. Powinieneś mieć teraz:

:s/ /^M 

Wykończenie go:

:s/ /^M/g 

i jesteś dobry, aby przejść.

2

Spróbuj albo

dla systemu UNIX:

:1,$s/\ /\n/g 

W systemie Windows:

:1,$s/\ /\r/g 

ten zawiera znak escape dla przestrzeni.

+2

Jestem dość pewny, że \ r działa na wszystkich systemach. – DrAl

+0

Interesujące. Będę musiał spróbować. – samoz

2

Konkretnie odpowiedzieć problem ze znakami spływu, to jest regex określono:

:%s/ /s/\n/g 

masz zbyt wiele /. Co się dzieje, jest to, że zastąpi „” z s, a następnie oznaczyć na to po podstawieniu: \n/g

myślę, że oznaczało to:

:%s/ \s/\n/g 

pamiętać, że /s została zmieniona na \s. Teraz podstawienie zastąpi jedną spację, po której nastąpi jeden biały spacja (spacja lub tabulator) z \n. Wątpię, czy to rozwiąże problem lub zastąpi spację znakiem nowej linii, ale powinno wyjaśnić komunikat o błędzie.

Powiązane problemy