Vim'deki Ctrl-w'yi geri al


4

Ben vim yanlısı bir kullanıcıyım, ancak, bir şekilde, zamana dayanan geri almanın kullanımını kesin olarak anlamış görünmüyorum ya da belki hoşuma gitmiyor. Sebep bir silme işlemini geri alabilmemin bir yolu var mı Ctrl- wW3I yardım için minnettar olur.

Teşekkürler.


Ekleme işleminin bir parçası olarak yapılan ^ W silme işlemlerini geri almaktan bahsediyorsanız, bilmek istiyorum. Sanırım, değeri bir script ya da buffer-local değişkeninde saklayan bir şeyle eşleştirebilirsin, ama bunu vim'de yerleşik olarak yapmanın bir yolu olduğunu sanmıyorum. Ancak, zamana dayalı geri alma, yani g-ve g+AFAIK'in kullanımı ile ilgili olmadığı sözleriyle kafam karıştı i_^W.
intuited

Yanıtlar:


4

Bahşiş başlığı Ctrl+ Uile aynıdır ancak Ctrl+ ile aynı değildir W. Ancak aynı yöntem her ikisi için de kullanılabilir.

Yanlışlıkla Ctrl+ kurtarın U.

Bu silme işlemlerini geri alamazsınız. Ancak, yazdıklarınız hala .kayıt defterinde. Bunu ( Escnormal moda dönmek için bastıktan sonra ) :regtüm kayıtları listeleyen komutla (veya sadece kaydı :reg .görüntülemek için .) onaylayabilirsiniz . Kayıp metni, kayıt defteri ekranından, örneğin fareyle kopyalayabilirsiniz.

Ne yazık ki, yalnızca .kayıt defterini yapıştırmak işe yaramaz çünkü Ctrl- uveya Ctrl- tekrar eder wve metni tekrar siler. Ancak, başka bir kayıt kullanabilirsiniz ( aaşağıdaki kayıt olun ):

:let @a = @.
"aP

Yukarıdakiler, yanlışlıkla silinenler dahil, en son eklediğiniz metni yapıştırır.


Bu işlemi otomatikleştirmek için bir fonksiyonda "setline ()" ve "substitute ()" kullanmak mümkün müdür?
SergioAraujo

3
:inoremap <C-w> <C-g>u<C-w>

<C-g>ugeri alma noktasını geçerli noktaya ayarlar. Ve sonra <C-w>silme işe yarıyor.

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.