Bir makro kaydetmek için "mod" olmadığı için bu oldukça ilginç bir istek. Bazı dokümanları inceledikten sonra aşağıdakileri buldum:usr_10
İlk satırın ilk karakterine geçerek başlarsınız. Daha sonra aşağıdaki komutları yürütün:
qa Kayıt defterinde bir makro kaydetmeye başlayın a .
^ Satırın başına git.
i # include satırın başında "#include dizesini ekle".
$ Satırın sonuna git.
a "Satır sonuna karakter çift tırnak işareti (") ekleyin.
j Sonraki satıra git.
q Makroyu kaydetmeyi durdurun.
Göze çarpan şey, "Kayıt defterinde bir makro kaydetmeye başla"
Her makro varsayılan olarak bir kayıt defterine kaydedileceğinden, onu :reg
listede görebileceğimizi umuyordum . Bir cazibe gibi çalıştığı ortaya çıkıyor!
Misal:
Normal modda: qaisomething<Esc>
ve içeri :reg
giriyoruz!
"a isomething^[
Bu bilgi ile bir makronun kaydedildiğini doğrulamak için kayıtlarda "casusluk" yapabilmeniz gerekir (her kayıtta adlandırılmış bir kayıt kullanın [harita q
her zaman aynı kaydı (veya bunun gibi bir şeyi kullanmak için)]
Sorun yaşarsanız bana bildirin ve size yardımcı olmaya çalışacağım (çünkü bu işlev benim için de yeni: D)
edit
Yank sırasında kullanılan bir kayıt sorununu gidermek için, yalnızca vimL
sizin yazarken kullanabileceğiniz özel bir kayıt türüne bakmanızı öneririm (kayıtta hiçbir yank devreye girmez "ay
)
İşte :help registers
mevcut kayıtlardan biraz bilgi
Kayıtları on tipi vardır: kaydeder E354
Adsız kayıt ""
"0 -" arası 10 numaralı kayıt 9
Küçük silme kaydı "-
26, "a'dan" z'ye veya "A'dan" Z'ye kadar olan kayıtlar
üç salt okunur kayıt ":,"., "%
alternatif arabellek yazmacı "#
ifade yazmacı "=
Seçim ve bırakma kayıtları "*," + ve "~
Kara delik kaydı "_
Son arama düzeni kaydı "/
Şimdi kullanacağınız bir kaydınız olduğunu varsayarsak, sorun "kayıt durduğunda nasıl bilebilirim?" Bakmak istiyorum bu I özen göstermek autocmd-event
için CursorHold
; yardım belgelerindeki not oldukça ümit verici görünüyor (normal imleci nasıl ayırt edebileceğimi anlamaya çalışacağım)
CursorHold
Kullanıcı 'updatetime' ile belirtilen süre boyunca bir tuşa basmadığında. Kullanıcı bir tuşa basana kadar yeniden tetiklenmez (yani, Vim'den kahve yapmak için ayrılırsanız her 'updatetime' msnı ateşlemez. :) Bkz. | CursorHold-example | önizleme için. Bu olay yalnızca Normal modda tetiklenir. Bir komut bağımsız değişkeninin yazılması veya bir işleçten sonraki bir hareket beklenirken tetiklenmez. CursorHold olayı kaydedilirken tetiklenmez. | Q |