Perintahnya adalah
nnoremap <leader>; :execute "normal! mqA;\<esc>`q"
Jika Anda menekan <leader>;, Anda akan E114: Missing quote: "normal! mqA;\diikuti oleh E15: Invalid expression: "normal! mqA;\. Kenapa ini? Perintah berfungsi dengan baik jika input langsung ke baris perintah.
Perintah menambahkan a ;di akhir baris saat ini, tanpa mengubah posisi kursor.
Saya menyadari bahwa saya bisa melakukan nnoremap <leader>; mqA;<esc>`qyang berhasil, pertanyaannya adalah mengapa hal di atas tidak berhasil, dan apa yang dapat dilakukan untuk membuatnya bekerja dalam bentuk eksekusi-normal.
Dugaan saya adalah bahwa diperlukan beberapa tingkat pelarian bersarang, tetapi saya tidak dapat menemukan yang berfungsi.
:h <>. Bagian yang relevan adalah: Notasi <> menggunakan <lt> untuk menghindari makna khusus dari nama-nama kunci. Menggunakan backslash juga berfungsi, tetapi hanya ketika 'cpoptions' tidak menyertakan flag 'B'. Jadi, jikaBflag tidak adacpotions, Anda dapat menggunakan\<Esc>untuk mewakili<Esc>kunci.