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
a
ekleme moduna gir<C-x><C-k> - perform dictionary completion on the character before cursor - in this case the letter
a`<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ımalongest
dahil ettim'completeopt'
:) .<C-p>
'set completeopt=longest,menuone,preview'
<C-y>
tamamlamayı kabul et^[^[
ekleme modundan çıkj
bir sonraki satıra geç, bir sonraki satıra aynı işlemi yapmaya hazırq
Kaydetmeyi 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,preview
onun hemen eklemek longest
neden olan seçeneği kullanıyorum <C-p>
. Dizeden kaldırırsam longest
, completeopt
sizinle 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>j
Makronuz 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