Próbuję edytować plik konfiguracyjny i chcę dodać konkretną linię kodu (na linii nowej) za każdym razem, gdy dopasowywany jest określony ciąg ... wszystko, co przeszukałem ponieważ szuka i zamienia, szukam i dołączam ...Wyszukaj ciąg i dodaj linię w vi/vim
13
A
Odpowiedz
13
W vim
\r
to nowa linia. Więc można zrobić coś takiego
%s/search string/&\rnew code/
0
To jest to, co chciałbym zrobić:
:g/specific string/s/.*/&specific line of code
Komenda g
pobiera wszystkie wiersze zawierające specific string
a następnie zastosować polecenie s
zastępczej do tych linii. Komenda s
zastępuje całą linię z jego zawartością plus specific line of code
HTH
13
Osobiście uważam, że za pomocą „G” polecenia jest chyba lepiej niż „: s” dla tego problemu.
:g/key/norm owhat ever you want
uczyni tekst:
foo
bar
key
foo2
bar2
key2
blah
do:
foo
bar
key
what ever you want
foo2
bar2
key2
what ever you want
blah
jeśli chcesz dodać nowy wiersz powyżej linii zawierającej wzorzec, wystarczy zmienić małe "o" do "O".
Powiązane problemy
- 1. ciąg "wyszukaj i zamień" używając .NET regex
- 2. Migradoc Dodaj linię poziomą
- 3. Wyszukaj i zamień ciąg znaków w bardzo dużym pliku.
- 4. Wyszukaj ciąg wewnątrz nazwy pliku w podkatalogach
- 5. Wyszukaj ciąg w wielu polach tabeli
- 6. Dodaj pojedynczą linię na histogramie
- 7. Dodaj poziomą linię do wydruku i legendy w ggplot2
- 8. Dodaj nową linię w pętli Makefile 'foreach'
- 9. ggplot2: dodaj linię do średniej w grupie
- 10. Wyszukaj ciąg we wszystkich kolumnach DataFrame i filtru Pandy
- 11. Vim wyszukaj wzór, a jeśli NIE wystąpi usuń linię
- 12. Dodaj nową linię na końcu JtextArea
- 13. Typeahead dodaj niestandardową linię do końca sugestii
- 14. Wyszukaj ciąg znaków w kolumnie tekstowej w MySQL
- 15. Dodaj pionową linię na dolnej css
- 16. Dodaj normalną linię dystrybucji na histogramie
- 17. Dodaj linię trendu exp/power do ggplot
- 18. Dodaj nową linię do VBA/VB6
- 19. Dodaj nową linię do pliku CSV
- 20. Po prostu wyszukaj ciąg w całym rozwiązaniu netbeans
- 21. Wyszukaj częściowy ciąg w tablicy PHP? Wyszukiwarka zawiera wartość hashtag
- 22. Wyszukaj konkretny ciąg w aplikacji Youtube z mojej aplikacji
- 23. Wyszukaj w PHP ciąg znaków na adres e-mail
- 24. Wyszukaj konkretny ciąg w kolumnie z rekordem Oracle
- 25. Dodaj nową linię w określonej pozycji w pliku tekstowym.
- 26. /in vi Wyszukaj i zamień?
- 27. sed wyszukaj i zamień ciągi zawierające/
- 28. jQuery Wyszukaj tekst w zmiennej?
- 29. Wyszukaj i zamień na ukośnik w przód
- 30. Dodaj linię przerw między połączonymi łańcuchami w VB.net
W celu wyjaśnienia. Używając zamiennika, ampersand sprawia, że jest on dołączany? Lub czy zawiera on linię, którą zastępujesz, abyś mógł kontynuować słowem "% s/string wyszukiwania/\ rnewcode & /"? – VolatileStorm
@Jaypal '% s /^.* szukaj ciąg. * $/& \ Rnew kod /' może być lepiej? Twój może przerwać pierwotną linię. na przykład, jeśli linia to "search string = xyz" lub "foosearch string = barsearch string" – Kent
'\ r' jest nową linią w łańcuchu zastępczym. We wzorcu wyszukiwania '\ n' jest nową linią. – Benoit