2013-08-29 29 views
10

Soruyu bu şekilde ortaya koyalım. Ben vim yeni bir dosya, (sürüm 1) sonraEn son vim'e nasıl yazılır?

#include<stdio.h> 
main() 
{ 
...blah 
} 

ve dosyayı yazmak için <Esc>:w<Enter> kullanmak açın. Sonra yapılan değişiklikler (sürüm 2)

#include<stdio.h> 
main() 
{ 
...blah 
... edit1 
... edit2 //and large number of changes here and there in code 
} 

sonra <Esc>:w<Enter> kullanarak değişiklikleri kaydedin.

doğrudan sürüm 1 değişiklik geri almak için bir yolu var mı sürekli

ing undo için u basmadan, yani (o olduğu için bir son kaydedin)
+3

zaman harcıyorsun çıkın ve @FDinoff Aslında svn kullanmak gundo eklentisi –

+2

[Gundo] (http://sjl.bitbucket.org/gundo.vim/) veya kullanım sürüm kontrolü yazılımı – FDinoff

+0

olsun. Fakat sorun şu ki, sunucudan güncellemeleri alıyorum ve birçok yerel düzenlemeyi yapıyorum (taahhütte bulunmadan, diğer kullanıcıları etkiliyorsa) ve nihayetinde uzun bir aradan sonra işlerini hallediyorum! –

cevap

14

: Eğer ikinci sonrasında değişiklikleri kaydetmek yapmadığı durumlarda

:earlier {N}f Go to older text state {N} file writes before. 
       When changes were made since the last write 
       ":earlier 1f" will revert the text to the state when 
       it was written. Otherwise it will go to the write 
       before that. 
       When at the state of the first file write, or when 
       the file was not written, ":earlier 1f" will go to 
       before the first change. 

Yani, yapabileceğin sen ne istedikleri: Öte yandan

:earlier 1f 

, eğer İkinci kayıttan sonra kaydedilmemiş değişiklikler yaptınız, sonra:

:earlier 2f 

sorununuzu çözecektir.

Bkz. :help :earlier, :help :undolist.

+0

Bunu kullanmayı planlıyorsanız, kalıcı geri alma özelliğini açtığınızdan emin olun. (': h kalıcı-geri ') – FDinoff

1

geri öncelikle dosyayı açtığında tüm yolu alabilirsiniz oldukça kolay. Sadece u'dan önce bir sayı yazın.

10000u, 1000010 kez geri dönecektir. Eğer yeterli değilse 1000000u'u deneyin.

Biraz bit geri almak isterseniz, bunu herhangi bir artışla yapabilirsiniz, 5u'u deneyin.

Dosyayı diskten yeniden yüklemek isterseniz, :e kullanın.

Vim'ın yardımıyla itibaren
+0

Teşekkürler. Sonra, '' e ''u kullanarak sürüm 2'ye dönmek mümkün mü? Bu arada deneyeceğim .. –

+1

@SathishKrishnan Hayır, Bence bu mümkün değil. Belki bir dosyayı düzenlemek için birden fazla arabellek kullanmaya başlarsanız, ancak bu çok kafa karıştırıcı olabilir ve değişikliklerinizi kaybedebilirsiniz. – Paulpro

+1

Bu yalnızca, kalıcı olarak geri alma özelliğini kullanmazsanız çalışır. (Benim düşüncemde bu çok güzel bir özelliktir) – FDinoff