2012-05-23 11 views
18

Mam linię tekstu, którą szarpnąłem yy. Teraz chcę użyć tego tekstu, aby zastąpić linie w kilku innych miejscach. Problem polega na tym, że po wybraniu V linii, która ma zostać zastąpiona, i wklejeniu p, zaznaczony tekst jest automatycznie szarpany! Tego właśnie nie chcę.W jaki sposób vim może zachować zawartość rejestru podczas wklejania zaznaczonego tekstu?

Zmiana rejestru nie działa, ponieważ zarówno wklejanie, jak i szarpnięcie odbywa się przy pomocy nowo wybranego rejestru.

Co to jest polecenie zachowania zawartości rejestru podczas wklejania zaznaczonego tekstu?

+0

Prawdopodobnie już wiesz, ale myślę, że zawsze możesz obejść problem z 'pdd'. – a3nm

+0

@ a3nm Czy nie masz na myśli 'pyy', które skopiowałoby ponownie aktualną linię? –

+0

Przepraszam, miałem na myśli 'pjdd'. Mówiąc to, nie rozumiem twojej sugestii. – a3nm

Odpowiedz

15

Za każdym razem, gdy przechodzisz przez coś, przechodzi do rejestru domyślnego.

Aby obejść tę funkcję, musisz użyć "_, "rejestru czarnych dziur", przed tobą p. Tutaj jest zwyczaj mapowanie mam w ~/.vimrc:

vnoremap <leader>p "_dP 

Usuwa wybraną zawartość i krople go w rejestrze czarna dziura (oznacza to, że wybrany tekst znika na zawsze) i umieszcza zawartość domyślnego rejestru miejsce wcześniej zaznaczonego tekstu pozostawiając nietknięty domyślny rejestr.

Używam go często, gdy muszę zamienić adres URL w innym miejscu na inny, a tworzenie s// byłoby zbyt uciążliwe.

18

Twój pierwotny wybór powinien pozostać w rejestrze 0. Możesz więc poruszać się po pliku i wklejać szarpaną linię przez inne linie, używając: V"0p

+4

Użyj również ': reg', aby sprawdzić aktualną zawartość rejestru. [This] (http://blog.dreasgrech.com/2010/06/vims-black-hole-register.html) jest całkiem dobrym wyjaśnieniem rejestrów, w tym rejestru czarnych dziur i rejestrów buforowych 0-9 . Wreszcie: ': help register', natch. – pb2q

+0

To jest lepsza odpowiedź. Nie ma potrzeby wysyłania skasowanych treści do rejestru czarnych dziur, gdy istnieje już rejestr, który został stworzony specjalnie do przytrzymywania wykreślonego tekstu – rviertel

Powiązane problemy