Hızla rasgele-ish kelimelerin bir listesini üreten bir makro tanımlamak çalışıyorum.
Makroyu böyle bir listeye dönüştürmek istiyorum
a
b
c
d
e
bunun içine
arezzo
bywords
czars
détente
eyrie
Şimdiye kadar ne var:
- imleci harf üzerine koy
a - makro kaydetmeye başla
qq aekleme moduna gir<C-x><C-k> - perform dictionary completion on the character before cursor - in this case the lettera`<C-p>görünen tamamlama listesindeki son öğeyi seçin, sistemimde sözcükarezzo. (Not : Tamamlama sırasında bu şekilde çalışmak için gerekli olan ayarımalongestdahil ettim'completeopt':) .<C-p>'set completeopt=longest,menuone,preview'<C-y>tamamlamayı kabul et^[^[ekleme modundan çıkjbir sonraki satıra geç, bir sonraki satıra aynı işlemi yapmaya hazırqKaydetmeyi bırak
Ben makro oluşturmak ve adımları el ile gidin, her şey iyi çalışıyor, ancak makroyu yürüttüğümde, komut satırında yanıp sönen bir ileti görüyorum:
sözlük dosyasını tarama
ve hiçbir şey olmaz, yalnızca makrodaki komutlar jçalıştırılır, yani imleç satırdan aşağı hareket eder, ancak tamamlama komutlarının hiçbiri çalışmaz.
Bir makroda ekleme modu tamamlamalarını kullanmak mümkün mü ve eğer öyleyse, bunu nasıl yapabilirim?
set completeopt=longest,menuone,previewonun hemen eklemek longestneden olan seçeneği kullanıyorum <C-p>. Dizeden kaldırırsam longest, completeoptsizinle aynı davranışı alırım. Ayrıca, evet ok tuşları çalıştı! teşekkürler (tamamlama listesinde gezinmek için bunları kullanabileceğinizi unuttum)
:set completeopt=ve a<c-x><c-k><esc>jMakronuz olarak.
<C-p>Adımınızı anlamıyorum ... vimimde yaptığımda, sadece mesajı veriyorback at original- son öğeyi seçmiyor .. Son kelimeyi (benim durumumazures) seçmek için yukarı ok tuşunu iki kez kullandım , enter ve sonraEsc+j+q.. makro yürütmede gayet iyi çalışıyor