Myślę przez „wklej” masz na myśli nienazwany (szarpnij / wstaw / zmień / usuń / zastąp) rejestr, prawda? (Ponieważ jest to ten, który zostałby nadpisany przez polecenie zmiany).
Rejestry są generalnie określane przez wpisanie, "
a następnie nazwy (pojedynczego znaku) rejestru, tak jak "ay
wtedy, "ap
aby szarpnąć do rejestru a
, a następnie umieścić zawartość rejestru a
. To samo dotyczy polecenia zmiany. W tym przypadku, jeśli nie chcesz usunąć tekst z poleceniem zmiany nigdzie iść, można użyć czarnej dziury rejestru "_
: "_cw
. Następnie, będąc w trybie wstawiania, możesz nacisnąć ctrl-R, a następnie rejestr, który chcesz (prawdopodobnie "
) umieścić w zawartości tego rejestru.
"*
- rejestr wyboru (wklejanie środkowym przyciskiem)
"+
- rejestr schowka (prawdopodobnie również dostępny za pomocą ctrl-shift-v przez terminal)
""
- domyślny (bez nazwy) rejestr vima yank / put / change / delete / substitute.
Krótka odpowiedź: "_cw^R"
Edycja: jak sugerują inni, możesz oczywiście użyć innego rejestru dla szarpania (lub czegokolwiek), który przesłał twój tekst do rejestru domyślnego. Jednak nie zawsze myślisz o tym w pierwszej kolejności, więc fajnie jest wykonać jedną komendę zmiany bez odrzucania jej. Chociaż nie jest to całkowicie zdmuchnięte. Istnieją ponumerowane rejestry "0
poprzez "9
:
Vim wypełnia te rejestry tekstem z poleceń yank i delete.
Rejestr numerowany 0 zawiera tekst z ostatniego polecenia yank, chyba że polecenie określiło inny rejestr z ["x].
Rejestr numerowany 1 zawiera tekst usunięty przez ostatnie polecenie usunięcia lub zmiany, chyba że w poleceniu określono inny rejestr lub tekst jest mniejszy niż jedna linia (wtedy używany jest mały rejestr usuwania). Wyjątek dla usuwania operatora z tych rozkazów ruchu: %
, (
, )
, `
, /
, ?
, n
, N
, {
i }
. Rejestr "1 jest wtedy zawsze używany (jest to zgodne z Vi). Rejestr" - jest również używany, jeśli kasowanie znajduje się w linii.
Z każdym kolejnym usunięciem lub zmianą, Vim przesuwa poprzednią zawartość rejestru 1 do rejestru 2, 2 do 3 i tak dalej, tracąc poprzednią zawartość rejestru 9.
12yl
szarpałem 12 znaków i"_cw^r0
zamieniałem słowo. Następnie mogłem użyć.
polecenia, aby powtórzyć zamianę w całym pliku.