Jak wykonać blokowe wyszukiwanie i zamianę za pomocą Vima?

8

Mam tekst w Vimie

  1. naciśnij, Ctrl+Vaby przełączyć VIm w tryb bloku
  2. zaznacz tekst, który chcę
  3. wpisz :to daje ten monit:'<,'>
  4. Dodaję do zachęty moje wyrażenie regularne s/ /*/g. Pozostaje mi to, :'<,'>s/ /*/ga tekst jest podświetlony
  5. Nacisnąłem Enter

Niestety, działa on na całej linii dla bloku, nie tylko na bloku. Czy w ogóle można przeprowadzić wyszukiwanie blokowe i zamienić?

Evan Carroll
źródło

Odpowiedzi:

12

Podczas korzystania z poleceń ex w trybie blokowania wizualnego :zawsze działają one na całej linii. Są na to dwa sposoby:

  1. \%VAtom będzie pasował tylko wewnątrz obszaru wizualnego. Próbować

    :'<,'>s/\%V /*/g
    

    Widzieć :help %V

  2. Istnieją specjalne wizualne wersje niektórych poleceń, live v_s lub v_r. Widzieć:help visual-operators
DaveParillo
źródło
Nie mogę wymyślić, jak to zrobić
Evan Carroll
atom \% V ograniczy wzór, tak aby pasował tylko do zaznaczenia wizualnego. Spróbuj:'<,'>s/\%V /*/g
DaveParillo,
1
Ta strona ma dobry opis tego, co próbujesz zrobić. vim.wikia.com/wiki/Search_and_replace_in_a_visual_selection
DaveParillo