2011-11-27 19 views
6

Jak narysować linię pionową, zamiast pisać jeden po drugim?Jak narysować linię w VIM?

Na przykład chcę ustawić pionową linię w kolumnie 10 na 20 rzędów. Tak jak moja pierwsza linia. jak to zrobić w inteligentny sposób?

enter image description here

Odpowiedz

12

Najpierw ustaw virtualedit=all, aby pozwolić sobie, aby poruszać się poza końcem linii:

:set virtualedit=all 

Potem ...

10|<C-V>20jr| 

Gdzie:

  • 10|: porusza możesz wyświetlić kolumnę 10
  • ctrl+V: wchodzi blokowo trybie wizualnym
  • 20j: porusza się w dół 20 linii (regulowane do smaku)
  • r|: zastępuje wybór z barów
+1

wielkie dzięki. Działa i bardzo szczegółowo. – CCC

+0

@iAsk: Nie ma za co. – Johnsyweb

1

To wydaje się być plugin VIM zrobić dokładnie to, czego szukasz:

http://www.vim.org/scripts/script.php?script_id=40

nie próbowałem to sam.

+0

dlaczego -4 głos? –

+5

Ponieważ początkowo zamieściłem to z komentarzem na temat asysty, a ludzie zostali obrażeni ... –

+0

+1 za sportową dyscyplinę i dyscyplinę. Również z kursu trzeba było wspomnieć o scenariuszu. – sehe

2

Poniżej przedstawiono alternatywne rozwiązanie do ustawiania virtualedit=all w celu dokonania 20 wierszy z | w kolumnie 10:

  1. Zaczynając w trybie Normal, aby przykład pokazujący, np 10i<space><esc>r|
    • 10iprzestrzeń wstawi kosmicznych dziesięć razy, a naciśnięcie esc następnie r| zastąpi ostatni znak z |
  2. skopiowanie całej linii z Y
  3. w normalnych tryb, wklej skopiowaną linię 20 razy z 20p
    • To będzie wklej skopiowany niedawno linię poniżej 20 razy, co daje w sumie 21 identycznych liniach

Podsumowując:

10i<space><esc>r|Y20p 
Powiązane problemy