Yanıtlar:
İçin tanımını arıyorsunuz undo-blocks
.
Gönderen :h undo-blocks
:
Geri alma komutlarından biri, komutta yapılan değişiklik ne olursa olsun, normal olarak yazılan bir komutu geri alır. Bu geri alınamayan değişiklik dizisi bir geri alma bloğu oluşturur. Böylece, yazılan tuş (lar) bir işlevi çağırırsa, işlevdeki tüm komutlar birlikte geri alınır.
Aynı blok için de kullanılır redo
. Gönderen :h redo
:
Son değişiklikler hatırlanır. Metni her değişiklikten önceki haline geri döndürmek için yukarıdaki geri al ve yinele komutlarını kullanabilirsiniz. Ayrıca, değişiklikleri geri alma işleminden önce geri alarak değişiklikleri tekrar uygulayabilirsiniz.
Vim'ın kalıcı düzenleme sıklıkla olarak görülüyor operatörü (örneğin c
, d
, ...) bir üzerine uygulanan hareketi (örneğin iw
, w
, }
, ...). Harika bir ürün olarak Vim tıknaz geri alır. Diğer editörlerin birçok küçük geri alma işlemini geri alma bloklarına dönüştürmek için bazı tahminlerde bulunması gerektiği gibi, Vim bunu doğal olarak yapar. Başka bir yan etki, bu size bir tekrar operatörü verir .
(dot komutu olarak da bilinir).
Sorunuz özellikle tuş vuruşlarından bahsediyor, böylece ekleme modundayken küçük değişiklikleri nasıl geri alabileceğinizi bilmek istediğinizi varsayalım. Cevap, bu "Vim yolu" değildir. "Vim Way", her seferinde kısa seri çekim için kesici modda olacağınız anlamına gelir. Bu, ekleme modunda hatalar yapıldığında, genellikle normal moda geri dönüp metni düzeltir veya sadece geri alırsınız ve metni u
yeniden yazarsınız.
Bazen ekleme modundayken geri alma bloğunun bölünmesi gerekebilir. Bu <c-g>u
ekleme modundayken yapılabilir. Daha fazla bilgi için :h :undoj
ve bölümüne bakın :h undo-blocks
.
Daha fazla yardım için aşağıdakileri öneriyorum:
:h undo-blocks
:h :undoj
:h undo-tree
:h persistent-undo
:h undo.txt
Bu konuda bazı ekran görüntüleri de var:
Bunu da bu şekilde düşünebilirsiniz: metni düzenlemek için her ekleme moduna Escgeçtiğinizde ve vurduğunuzda , bu bir blok oluşturur. Bu bloğu geri almaya çalışırsanız, ekleme moduna girmeden önce aynı konuma gidersiniz.
Bu nedenle, zaman zaman ekleme modundan çıkarak değişikliklerinizi "kaydedebilirsiniz": diyelim ki ekleme moduna geçip bir işlev yazıyorsunuz. Kodlamaya devam edebilir ve bir sonraki işleve geçebilirsiniz, ancak bazen normal moda geri dönüp tekrar ekleme moduna geçmeniz tercih edilir. Bu şekilde, kodunuzun basit bir şekilde yapılandırılmasını sağlayabilirsiniz ve geri dönmeniz gerekirse hangi konumda olacağınızı bilirsiniz.
Not: Taşımak için okları kullanırsanız, Esc+ [ hjkl] tuşlarına basmanız gibi
CTRL-G u
Ekleme modunda komutla tek bir geri alma bloğunu manuel olarak ayırabilirsiniz ; bu, bazı ekleme modu makrolarınız varsa kullanışlıdır.