Itu tidak terjadi sesering yang Anda kira, tetapi itu terjadi sesekali, dan saya bahkan tidak memiliki kucing.
Pada dasarnya jika Anda menumbuk baris angka atau numpad dan kemudian menabrak keycombo yang memicu perintah berulang, adalah mungkin untuk secara tidak sengaja memerintahkan Vim untuk melakukan tugas beberapa ribu, juta, atau bahkan miliar kali. Ini dengan mudah keluar dari kendali dan dapat menyebabkan hilangnya data.
Jadi saya bertanya-tanya apakah ada konfigurasi atau sesuatu dalam kode sumber yang dapat kita ubah untuk berfungsi sebagai pemeriksaan kewarasan untuk mencegah DoS semacam ini.
normal-mode
repeated-commands
Steven Lu
sumber
sumber
144477@@
atau99999.
dan Anda ingin menghentikan eksekusi ketika jumlahnya terlalu besar? Apakah saya benar? (Saya harus bertanya karena itu agak aneh bagi saya, saya tidak pernah mengalami masalah ini)set showcmd
untuk menunjukkan kunci yang Anda ketikkan di sudut kanan bawah..vimrc
, jadi jawabannya sepenuhnya mandiri.)Jawaban:
Saya menemukan bahwa Anda biasanya dapat mengganggu proses pengulangan dengan mengirimkan SIGINT ( Ctrl+C). Selama beberapa vimscript tidak menjalankan loop dalam yang sangat panjang, tidak ada kekhawatiran DoS.
Lihat di sini untuk contoh plugin yang mungkin berisi fungsi loop tergantung pada nomor yang dimasukkan.
Untuk hampir semua maksud dan tujuan, masalah ini di sini adalah hipotesis.
sumber
<Esc>
, Anda tidak perlu menggunakan<C-c>
. Perbedaannya adalah bahwa<C-c>
membatalkan apa pun yang dilakukan Vim (seperti menjalankan fungsi), dan<Esc>
tidak melakukannya. Anda hampir tidak pernah ingin menggunakan<C-c>
kecuali Anda ingin "membunuh" sesuatu.