Ekleme modunda geri al


23

Ekleme modunda yapılan son işlemi geri almak için bir komut var mı?

Yanlış sicildeki metni kullanarak yapıştırdım <C-r>ve iki seçeneğim var:

  1. Yaptıklarımı el ile sil ve baştan başla.
  2. Normal moda geçin, vurmadan uönce yazdığım metni tıklayın ve silin <C-r>.

Daha iyi bir yolu var mı?

Yanıtlar:


16

Vim Ctrl-G u, geri alma sırasını kıran komutla geri alınamayan bir değişikliğin kapsamını belirleme konusunda sınırlı bir yetenek sunar . Görmek

:help i_CTRL-G_u

Sizin durumunuzda, çözüm şöyle yeniden eşleşmek olacaktır <C-R>:

:inoremap <C-R> <C-G>u<C-R>

Ardından, yazmanız <C-O>uyalnızca yazdığınızdan bu yana yapılan değişiklikleri geri alır <C-R>. Görmek

:help i_CTRL-O

1
Bu harika, bu emri bilmiyordum. <C-O>uSonuçları ekranda yazıp görmek arasında (yaklaşık 4 saniye) oldukça uzun bir gecikme var , bundan nasıl kurtulabilirim?
zool

Bunu ben de farkettim. Bilmiyorum; Bulmaya çalışacağım.
garyjohn

Hey, <CR> (ctrl-r) yerine <CR> (satır başı) demek istediniz mi?
Derwent

Hayır. Asıl soru, <CR> davranışı ile ilgiliydi, bu yüzden haritanın kullandığı şey buydu. Bununla birlikte, geri alma sırasını bir <CR> ile kesmek için bu eşlemede <CR> 'yi <CR> ile değiştirebilirsiniz. Adresinde daha fazla örnek bulunabilir :help i_CTRL-G_u.
garyjohn

6

Ekleme modundan:

  1. Yapıştırılan metniniz bir satırdan küçükse (bu, ikinci noktanızın gösterdiği şeydir), <C-u>geçerli satırdaki imleçten önceki tüm karakterleri silmek için tıklamanız yeterlidir .

  2. Yapıştırılan metin daha bir satır daha uzunsa, senin 2 çözüm daha iyi çalışacak, aşağıdaki gibi uyarlanmış: <C-o>u.

Yukarıdaki her iki nokta, ekleme modunda başlar ve kalır - veya bitirir -; aslında önerilen çözümlerinizle aynı, daha kısa zamanda yapılanlar :)


6

Deneyin <C-w>(sola doğru bir sözcüğü siler) veya <C-u>(bir kez basıldığında imleçten önceki karakterleri siler, ikinci kez basıldığında satır sonunu siler). Bkz :help i_CTRL-Wve :help i_CTRL-U.

Bir kayıttan çok şey yapıştırırsanız, değişikliklerinizi geri almak elbette daha hızlı olur, bunun için insert-normal-mod kullanabilirsiniz <C-o>(bir normal mod komutunu yürütün, ardından ekleme moduna geri dönün).

Genel olarak, normal moda geri dönerek düzenlemelerinizi küçük parçalara ayırmak yararlı olur; böylece iyi ayarlanmış geri alma olasılıklarınız olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.