2015-02-09 10 views
6

Zazwyczaj wizualnie wybieram blok i kopiuję/wycinam go gdzieś indziej, potem znalazłem się zawsze formatowanie wklejonego tekstu, więc istnieje sposób, aby szybko wizualnie wybrać tekst ponownie.W vimie, jak wizualnie wybrać wcześniej wklejono tekst

+1

jak wcięcia i takie tam. Chociaż można to osiągnąć za pomocą 'gg = G'. BTW, czy widziałeś ten q/a: https://stackoverflow.com/questions/4312664/is-there-a-vim-command-to-select-pasted-text?rq=1 – three

+1

Powinieneś spróbować '[p 'i'] p'. – romainl

Odpowiedz

5

Każde polecenie, które zmodyfikowało bufor (i yanks), ustawi znaki '[ i wokół zmienionego obszaru. Więc można sformatować wklejony blok poprzez:

`[v`]= 

Niektórzy ludzie iść tak daleko, aby wykorzystać następujące odwzorowanie ponownie wybrać ostatnio zmodyfikowany fragment tekstu:

nnoremap <expr> gV '`[' . getregtype()[0] . '`]' 

Z tego odwzorowania można po prostu zrobić gV= i sformatuj właśnie wklejony tekst.

Jednak jeśli masz wtyczkę unimpaired.vim i wklejasz w niej wiersz, możesz użyć polecenia =p, które zapewnia. Spowoduje to wklejenie i ponowne sformatowanie tekstu za jednym razem. Zapewnia również inne alternatywne polecenia wklejania, np. Wkleja jeden głębszy poziom wcięcia.

+0

Świetna odpowiedź, mistrzu vima! – Rn2dy

0

Sposób, w jaki używam jest prosty. Kursor znajduje się na początku wklejanego tekstu po wklejeniu. Naciśnij, aby przejść do selekcji wizualnej, naciśnij przycisk, aby przejść do końca wklejanego.

Są to 3 naciśnięcia przycisków. Jeśli jest zbyt długi to można zrobić mapowanie dla p

map p pV'[ 
map P PV'[ 
+0

działa, jeśli wklejesz tylko raz. – Rn2dy

0

Dla trybie wizualnym, gv jest standardowym sposobem ponownie wybrać poprzedni obszar.

Jeśli chcesz przełączać między położeniami początkowymi i końcowymi obszaru, naciśnij przycisk o.

Zgodnie z innymi odpowiedziami, można zastosować standardowe polecenie = w tym ponownie wybranym obszarze.

Działa dobrze po wklejeniu pasty p lub P.

Zaletą jest to, że nie potrzebujesz żadnego niestandardowego mapowania.

+0

prawdopodobnie nie dokładnie to, o co prosiłem – Rn2dy

Powiązane problemy