Bagaimana cara mengubah nilai batas waktu untuk satu perintah kunci?

8

Apa yang saya inginkan

Untuk sementara mengubah nilai batas waktu untuk perintah kunci tertentu

Di mana saya melihat

Dari :help 'timeout'saya miliki:

The timeout only happens when the 'timeout' and 'ttimeout' options
tell so.  A useful setting would be >
    :set timeout timeoutlen=3000 ttimeoutlen=100
(time out on mapping after three seconds, time out on key codes after
a tenth of a second).

Saya tidak yakin bagaimana saya akan mengimplementasikan ini dalam perintah kunci, atau bagaimana memeriksa pengaturan batas waktu saat ini.

Sebagai contoh, saya ingin mencoba dan mengatur hhuntuk memulai ke awal baris, tetapi saya ingin batas waktu untuk perintah kunci tertentu menjadi cukup cepat, katakanlah 100 milidetik.

Apa yang saya coba

:set timeout timeoutlen=100 ttimeoutlen=100
nmap hh <S-^>
:set timeoutlen=1000 ttimeoutlen=1000
baxx
sumber
2
Pengaturan seperti 'timeoutlen'digunakan pada saat pemetaan dipanggil , bukan dibuat.
tommcdo

Jawaban:

1

The 'timeoutlen'pilihan adalah satu global, dan itu berlaku di pemetaan doa , tidak selama definisi .

Saya dapat memahami motivasi Anda (menggunakan hhpemetaan khusus sementara masih bisa bergerak dengan cepat h, h), tetapi saya tetap menyarankan untuk tidak melakukan trik semacam itu. Lebih baik memilih pemetaan lain yang tidak tumpang tindih dengan perintah bawaan.

Jika Anda benar-benar harus, lihat di plugin arpeggio . Ini melakukan beberapa trik untuk memetakan tombol yang ditekan secara bersamaan.

Ingo Karkat
sumber
terima kasih Ingo, saya menjadi sedikit lebih kreatif dengan pemetaan baru-baru ini tetapi masih membutuhkan panduan harus dan tidak boleh dilakukan :)
baxx