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
Odpowiedz
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.
Świetna odpowiedź, mistrzu vima! – Rn2dy
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'[
działa, jeśli wklejesz tylko raz. – Rn2dy
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.
prawdopodobnie nie dokładnie to, o co prosiłem – Rn2dy
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
Powinieneś spróbować '[p 'i'] p'. – romainl