Chcę mieć szybki sposób na ustawienie 'paste'
opcji Vima , wstawienie tekstu i powrót do poprzedniej wartości 'paste'
.
Typowy przypadek użycia wstawia zawartość schowka OS dosłownie, niezależnie od tego, który tryb przepisywania w trybie wstawiania może być aktywny, taki jak automatyczne wcięcie i bez zmiany stanu Vima. Innym przykładem użycia byłoby umożliwienie funkcji makra systemu operacyjnego wstrzykiwania naciśnięć klawiszy do Vima i interpretowania ich jako dosłowny tekst.
To oczywiście uogólnia na inne opcje - ogólną ideą jest ustawienie niektórych opcji, ale tylko na czas jednej podróży przez tryb wstawiania.
Zasadniczo chcę powiązać sekwencję klawiszy (powiedzmy _i
) z makrem, które to robi
:set paste
i…<Esc>
:set nopaste
gdzie i…<Esc>
mam na myśli przejście do trybu wstawiania (jak w przypadku i
polecenia) i wznowienie makra po powrocie do trybu polecenia, z tym wyjątkiem, że chcę skończyć z 'paste'
nadal aktywnym, jeśli był wcześniej aktywny. W jaki sposób mogę to zrobić?
Uwaga: zawartość schowka OS jest mapowana do "*
rejestru . Kiedy to działa, 'paste'
opcja nie jest bardzo przydatna. Scenariusz motywujący dla tego pytania dotyczy czasów, w których warunki obsługi "*
rejestru nie są spełnione - Vim nie jest skompilowany z tą +xterm_clipboard
funkcją lub działa w terminalu, takim jak Screen lub przez SSH, który izoluje go od serwera X otoczenia.
+
lub*
zarejestrować?