Saya mencoba mendefinisikan makro yang dengan cepat menghasilkan daftar kata-kata acak.
Saya ingin makro mengubahnya menjadi daftar seperti
a
b
c
d
e
dalam hal ini
arezzo
bywords
czars
détente
eyrie
Apa yang saya miliki sejauh ini:
- letakkan kursor di atas huruf
a
- mulai merekam makro
qq
a
masuk ke mode insert<C-x><C-k> - perform dictionary completion on the character before cursor - in this case the letter
a`<C-p>
pilih item terakhir dalam daftar penyelesaian yang muncul, di sistem saya kataarezzo
. (NB Saya telahlongest
memasukkan dalam'completeopt'
pengaturan saya , yang diperlukan untuk<C-p>
bekerja dengan cara ini selama penyelesaian:)'set completeopt=longest,menuone,preview'
.<C-y>
terima penyelesaiannya^[^[
keluar dari mode penyisipanj
pindah ke baris berikutnya, siap untuk melakukan operasi yang sama pada baris berikutnyaq
berhenti merekam
ketika saya membuat makro dan melalui langkah-langkah secara manual, semuanya berfungsi dengan baik, namun ketika saya menjalankan makro, saya melihat pesan yang berkedip di baris perintah, seperti:
memindai file kamus
dan tidak ada yang terjadi, dari perintah-perintah di makro hanya j
dijalankan, yaitu kursor bergerak ke bawah baris, tetapi tidak ada perintah penyelesaian berjalan.
Apakah mungkin untuk menggunakan penyelesaian mode penyisipan di makro, dan jika demikian, bagaimana saya bisa melakukannya?
set completeopt=longest,menuone,preview
nya yang longest
pilihan yang menyebabkan <C-p>
untuk segera memasukkan. Jika saya menghapus longest
dari completeopt
string, saya mendapatkan perilaku yang sama seperti Anda. Juga, ya tombol panah berfungsi! terima kasih (saya lupa Anda dapat menggunakannya untuk menavigasi daftar penyelesaian)
:set completeopt=
dan a<c-x><c-k><esc>j
sebagai makro Anda.
<C-p>
langkah Anda ... ketika saya melakukannya di vim saya, itu hanya memberikan pesanback at original
- tidak memilih item terakhir .. Saya menggunakan tombol panah dua kali untuk memilih kata terakhir (kasus sayaazures
), tekan enter dan laluEsc+j+q
.. itu kemudian bekerja dengan sangat baik dalam menjalankan makro