Może szukam w niewłaściwy sposób, ale nie udało mi się dowiedzieć, jak to zrobić.
Oto scenariusz: Mam listę w pliku tekstowym, w której chcę wstawić to samo słowo w wielu wierszach, oto przykładowy tekst:
12.1 Pozycja 1 12.2 Pozycja 2 12.3 Pozycja 3
Teraz zaznaczam wizualnie blok ósmej kolumny, zaznaczonej poniżej podkreśleniem, i zamierzam zastąpić część białej spacji Done
bez przesuwania kolumny przedmiotu:
12.1 _ Pozycja 1 12.2 _ Pozycja 2 12.3 _ Pozycja 3
Spodziewałem się, że mogę przejść do trybu zastępowania, ale mogę wprowadzić tylko insert ( I
), append ( A
) lub change-mode ( c
). Tryb zmiany jest zbliżony do tego, czego chcę: jeśli znam długość słowa, blok można ustawić na tę samą szerokość.
Czy czegoś tu brakuje?
Done
, ale co jeśli chcę napisać coś innego, chcę być wolny od liczenia znaków, jeśli to możliwe.:norm
jest twoim przyjacielem.Jeśli chcesz zastąpić w bloku wizualnym, możesz użyć
vis.vim
wtyczki .http://vim.wikia.com/wiki/Applying_substitutes_to_a_visual_block
Żeby zainstalować:
Pobierz vis.vba.gz ze strony http://www.drchip.org/astronaut/vim/index.html#VIS
Po zainstalowaniu:
Co więcej, możesz wykonać dowolną komendę Ex na bloku wizualnym, a nie tylko podstawienia. Na przykład
:B !sort
.źródło
w
lub,e
aby szybko wybrać kilka kolumn, a następnie dostosować za pomocąh
lubl
.