Saya ingin memiliki cara cepat mengatur 'paste'
opsi Vim , memasukkan beberapa teks, dan kembali ke nilai sebelumnya 'paste'
.
Sebuah kasus penggunaan tipikal memasukkan konten clipboard OS secara literal, terlepas dari mode penulisan ulang apa pun yang mungkin aktif, seperti lekukan otomatis, dan tanpa mengubah status Vim. Kasus penggunaan lain adalah untuk memungkinkan fitur makro OS untuk menyuntikkan penekanan tombol ke Vim dan meminta mereka ditafsirkan sebagai teks literal.
Ini jelas menggeneralisasi ke opsi lain - ide umumnya adalah untuk mengatur beberapa opsi tetapi hanya untuk durasi satu perjalanan melalui mode penyisipan.
Pada dasarnya saya ingin mengikat urutan kunci (katakanlah _i
) ke makro yang melakukan ini
:set paste
i…<Esc>
:set nopaste
di mana i…<Esc>
maksud saya beralih ke memasukkan mode (seperti dengan i
perintah) dan melanjutkan makro setelah kembali ke mode perintah, kecuali bahwa saya ingin berakhir dengan 'paste'
masih aktif jika sudah aktif sebelumnya. Bagaimana saya bisa melakukan ini?
Catatan: Konten clipboard OS dipetakan ke "*
register . Ketika itu berhasil, 'paste'
opsinya tidak terlalu berguna. Skenario memotivasi untuk pertanyaan ini adalah untuk saat-saat ketika kondisi untuk "*
dukungan register tidak terpenuhi - Vim tidak dikompilasi dengan +xterm_clipboard
fitur, atau sedang berjalan di terminal seperti Layar atau lebih dari SSH yang mengisolasinya dari server X ambient.
+
atau*
mendaftar?