Pracuję VIm
i próbuję skonfigurować polecenie wyszukiwania i zamiany, aby wykonać pewne zamiany, w których mogę ponownie użyć wyrażenia regularnego, które jest częścią mojego ciągu wyszukiwania.
Przykładem byłaby prosta linia, gdzie chcę, aby wymienić (10)
się {10}
, gdzie 10 może być dowolną liczbą.
Zaszedłem tak daleko
.s/([0-9]*)/what here??/
który pasuje dokładnie do tej części, którą chcę.
Teraz wymiana, próbowałem
.s/([0-9]*)/{\0}/
Ale daje to jako wynik {(10)}
Potem spróbowałem
.s/(\zs[0-9]*\ze)/{\0}/
To mi jednak dało ({10})
, co też zamykam, ale nie to, czego chcę.
Myślę, że zamiast tego potrzebuję innego rodzaju oznaczania / odsyłaczy \0
, ale nie wiem, gdzie szukać. Pytanie brzmi: czy można tego dokonać w vimie, a jeśli tak, to w jaki sposób?
źródło
Niedawno odziedziczyłem trochę starszego kodu i chciałem zastąpić wszystkie wystąpienia, takie jak:
do
lub
Opierając się na poprzedniej odpowiedzi i mając nadzieję, że ktoś skorzysta z niej, użyłem następującego polecenia, które zmieni wszystkie wystąpienia:
Jeśli zastąpi
%
się.
i usunąć/g
skończy się zpozwoli ci to przejrzeć każdy mecz i wybrać, czy chcesz go zmienić, czy nie.
źródło
Lepszym sposobem na przejrzenie każdego dopasowania jest dodanie litery „c” na końcu kodu, zamiast przechodzenia między wierszami
źródło