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ć?

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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.