Jak wizualnie wybrać blok tekstu, który właśnie wkleiłem w Vimie?

13

Zwykle muszę przenosić / kopiować fragmenty kodu między moimi plikami źródłowymi. Po wklejeniu bloku tekstu zwykle muszę wykonać pewne operacje na tym bloku, takie jak ponowne użycie go =.

Czy istnieje sposób łatwego wizualnego wybrania bloku tekstu, który właśnie wkleiłem bez robienia tego ręcznie?

Thameera
źródło

Odpowiedzi:

21

'[I ']znaki wyznaczają pierwszą i ostatnią linię wcześniej zmieniona lub yanked tekstu. Odpowiedniki `[i `]ograniczają odpowiednie linie i kolumny.

Za pomocą tego możesz wizualnie wybrać ostatnio zmieniony blok linii za pomocą, '[V']a następnie zastosować =polecenie.

Ponieważ jednak wkleja kursor pozostawia kursor w pierwszym wierszu wklejonej treści, możesz również określić ruch, w którym =polecenie powinno zostać zastosowane, w tym przypadku do ']znaku. To by było ='].

jamessan
źródło
Ta odpowiedź opisuje metodę, która działa dla wszystkich typów selekcji wizualnych (w tym wizualnych blokowych): stackoverflow.com/questions/4312664/...
Adam Byrtek
14

To mapowanie umożliwia ponowne wybranie właśnie wklejonego tekstu:

nnoremap gV `[v`]

Ale powinieneś był użyć [pi ]pzamiast tego.

Zobaczyć :help [p.

romainl
źródło
2
+1 za [pi]p
lisowski.r
3

Vim zawiera następujące pomocne mapowania:

`[

i

`]

Które wybierają odpowiednio pierwszy i ostatni znak uprzednio zmienionego tekstu.

Następująca seria klawiszy (w trybie normalnym) wybierze ostatnio wklejony tekst:

`[v`]

Aby uzyskać szybszy dostęp, możesz skonfigurować mapowanie, na przykład :

nnoremap gp `[v`]
przedpola
źródło