jak skopiować / wkleić w trybie ex vim

10

Coraz bardziej mnie frustruje pisanie tego

:% s / some_really_long_string / some_other_really_really_long_string_that_may_or_may_not_related_to_the_first_one / gc

Czy jest jakiś sposób, aby skopiować / wkleić te ciągi w trybie ex?

Iakie
źródło

Odpowiedzi:

10

Możesz użyć, Ctrl-Raby wstawić wartość rejestru w wierszu polecenia Ex. Jeśli na przykład wciągnąłeś jakiś tekst do rejestru domyślnego, możesz go przywołać Ctrl-R".

Istnieją również skróty do niektórych typowych przypadków. Możesz wstawić bieżące słowo pod kursorem za pomocą Ctrl-RCtrl-Wlub bieżącą nazwę pliku za pomocą Ctrl-RCtrl-F.

Zobacz te tematy, aby uzyskać więcej informacji, w tym kilka innych przykładów:

:help c_CTRL-R
:help cmdline.txt

Warto także przeczytać rejestry:

:help registers
Bill Odom
źródło
myślałem Ctrl-R, że oznacza to, że musisz zmienić, aby zdobyć kapitał R. ale kiedy go wypróbowałem, potrzebujesz po prostu ctrl-rbez zmiany.
Trevor Boyd Smith
10

Prawie zawsze unikam wpisywania szukanego ciągu w poleceniu zastępczym, najpierw wykonując wyszukiwanie (z /) lub „słowo pod kursorem” (z *), a następnie wykonując:

:%s//other_string/gc

Gdy brakuje wzorca wyszukiwania, polecenie zastępcze użyje ostatniego wzorca wyszukiwania.

Oprócz tego, że wpisujesz mniej znaków, pierwszy przypadek, wyszukiwanie za pomocą /, pozwala najpierw przetestować złożony wzorzec wyszukiwania przed wykonaniem podstawienia. Drugi przypadek, szukając z *, pozwalają unikać wkładania atomy start / end, czyli \<a \>.

-

Nawiasem mówiąc, możesz uniknąć gflagi, dodając linię

set gdefault

w twoim vimrcpliku.

mrucci
źródło