2011-01-25 5 views
10

Ben yazdığınız scenerio düşünün istenen öğeyi seçmek için yazmaya devam: Ben yazdığınızdaVim omni tamamlama:

file.f 

Ctrl-XCtrl-O omni-tamamlama açılır gösterilir ve ilk öğe seçildi. '

file.fileno 

Ben listede Seçimi aşağı taşıyabilirsiniz:

file.fileno 
     --------- 
     fileno() <-- highlighted 
     flush() 
     --------- 

Ben yazdığınız metni ("file.f") zaten değişti Bildirimi buna: Bu benim gördüğüm bu 'floş, ENTER tuşuna basın ve

f.flush() 

ile sona erecek Ama istenen yöntem adını yazarak yerine ok tuşlarını kullanmaya devam etmek istiyorum. Yani Ben "file.f", "Ctrl-X Ctrl-O", "l" yazıp ya

file.fileno 
     --------- 
     flush() 
     --------- 

veya

file.fileno 
     --------- 
     fileno() 
     flush() <-- highlighted 
     --------- 

bu mümkün mü almak istiyorsunuz? Belki bazı tamamlama ayarları değiştirilmeli veya Ctrl-XCtrl-O yerine farklı bir tuş kombinasyonu kullanmalıyım?

cevap

14

Ekle: set completeopt+=longest .vimrc dosyanıza.

Bu, tüm eşlemelerin yalnızca en uzun ortak metnini eklemek için çok noktaya ayırıcıya söyleyecektir.

Daha fazla bilgi için, vim kullanırken :help completeopt komutunu çalıştırın.

+5

Başka bir yol, CTRL + P'ye tıklayıp biraz daha metin yazmanızdır. – alex2k8

+0

harika bir ipucu, teşekkürler – clime