Saya sudah bisa memetakan kombinasi tombol dalam mode insert:
:inoremap abc <do stuff>
Namun, ini memiliki beberapa kelemahan:
Saat mengetik versi parsial dari urutan, seperti
ab
, karakter sebenarnya tidak ditampilkan untuk waktu yang singkat, karena itu "menunggu" untuk melihat apakah Anda akan mengetik perintah lengkap. Ini tidak diinginkan; Saya ingin memetakan rantai surat tanpa berhenti jika substring sebagian dari rantai dimasukkan.Jika saya mengetik
ab
, maka jeda (dan tunggu sampai karakter benar-benar muncul seperti disebutkan pada titik di atas), kemudian ketikc
, perintah tidak dieksekusi. Saya ingin perintah dieksekusi tidak peduli berapa lama saya menunggu.
Saya akan menggunakan iab
, tetapi itu tidak berhasil karena:
- Itu membutuhkan memasukkan spasi setelah string
- Saya tidak bisa menjalankan perintah arbitrer dengannya, hanya menyisipkan serangkaian teks.
Apakah ada cara untuk menjalankan perintah atau penekanan tombol jika string tertentu dimasukkan dalam mode insert, tanpa menggunakan peta (yang akan menjeda setiap kali saya mengetik a
dan tidak bekerja jika saya menunggu terlalu lama)?
sumber
:cnoremap abc <do stuff>
...ab<any key>
.Jawaban:
Inilah satu cara untuk melakukannya:
sumber