2009-12-17 10 views
64

Çok sayıda kabuk yazımı yazıyorum ve sürekli olarak dosya yollarına girmek zorunda kalıyorum. Herhangi bir kişi, ekleme modundayken dosya yollarını otomatik tamamlama için Vim'i almanın bir yolunu biliyorsa, tıpkı sizin en sevdiğiniz kabukta olduğunuz gibi, dizinin ya da dosyanın yolunu tamamlamak için sekme yaptığını merak ediyorum.Vim insert modundayken, dosya yolu otomatik tamamlama ekleme yolu var mı?

Ekstra kredi Eğer (yani dosyaları/dizinleri geçerli yolda ne olacağını anlamak için) Vim komut moduna geri kabuğun CTRLD işlevselliği alabilirsiniz. xctrl - -

+0

ilginç bir soru, ben de cevabı bilmek isterim :) –

+0

@stephenmm Ctrl-D kabuğunda ne yapar? Bash kabuğumda biraz metin girdiğimde, terminali kapattığımda hiçbir şey yapmıyor. – alhelal

cevap

126

f file name omni tamamlanması için, kullanabilirsiniz:

Ctrl - XCtrl - bu dosyaların bir listesini görüntüler + Xctrl + komut dizisi f ctrl kullanırken F

+10

Başka bir vim aha anı .... Teşekkürler. Öyle benim .vimrc bu ilave neyse ekleme modunda sekmesini kullanın yok: imap stephenmm

+1

ekleme modunda diğer bir avantajı olduğunu. Bu, üzerinde çalıştığınız dosyadaki diğer kelimelere göre yazdığınız sözcüğü otomatik olarak tamamlar. Her zaman değişken veya sınıf isimleri yazarken kullanırım. – Derek

+0

@stephenmm Harika bir bahşiş! – Ergwun

17

ctrl var

:he compl-filename

14

@CMS üzerine inşa ve mükemmel cevaplar

@michael için geçerli dizinde. Farklı dosya isimleri arasında yukarı ve aşağı hareket etmek için doğru anahtarı arayan bir dakika harcıyorum. Doğru anahtarlar Ctrl-n ve Ctrl-p'dir. Yazmayı seçmek ve yazmaya devam etmek için neredeyse tüm diğer tuşları (Space gibi) kullanabilirsiniz. Ayrıca

, sizin eklemek istediğiniz dosya/dizini değil zaten eğer aşağıdaki gibi bir dosya ağaç yapısını aşağı gidebilir:

  1. İsteğe dizinin bir kısmını girin. Örneğin ../../'u da kullanabilirsiniz!
  2. Basın ctrl + Xctrl + f ve listeden ağacındaki ilk öğeyi seçin.
  3. Sonraki pres Ctrl + f yine doğru öğe dizin ağaç yapısında aşağı sonraki seviyeye listesini görüntülemek için vurgulu iken.

Belgeye eklemek istediğiniz dizini/dosyayı bulana kadar bunu yapmaya devam edebilirsiniz.

+3

3. adımda ctrl + x ve ctrl + f? Sadece ctrl + f benim için çalışmıyor, çünkü ctrl + n ile aynı. Btw, bir dizinin içinde boşluk varsa, burada çalışmaz: /. bir çözüm biliyor musunuz? – Rojo

0

Benzer bir sorunla karşılaştım.!

Peşinde olmayan ekleme modunda seyreden ve
:r !realpath /path/to/file 

bizim anahtar kullanabilirler realpatch: Normal mod türü ile dosya

sudo apt-get install realpath 

Ve VIM naviagte içinde: Ben çözüm gibi buldum buton.

VOILA! TAB yine çalışıyor!