Yanıtlar:
Basabilirsiniz {count}Ctrl-G
:
{count}CTRL-G Like CTRL-G, but prints the current file name with
full path. If the count is higher than 1 the current
buffer number is also given.
Düğmesine basılması 1ve ardından Ctrl+ Gakım dosyasının tam yolunu gösterir. Eğer {count}
1 'den daha yüksektir, tampon adı da gösterilir.
(Yalnızca Ctrl+ tuşuna basıldığında G, yorumlarda Jasper tarafından belirtildiği gibi Vim'in geçerli çalışma dizinine göre olan yol gösterilir.)
.vimrc
Durum satırına tam yolu eklemek için aşağıdaki komutu kullanabilirsiniz , böylece her zaman görünür:
set statusline+=%F
C-g
için varsayılan gibi görünüyor 0C-g
ve ek olarak tampon dizin numarasını (1'den başlayarak) 2C-g
gösterir .
1C-g
!
Kayıt %
mevcut dosyanın adını içerir.
Gösterilen bilgileri görüntülemek için aşağıdaki komutlar girilebilir:
:echo @% |" directory/name of file
:echo expand('%:t') |" name of file ('tail')
:echo expand('%:p') |" full path
:echo expand('%:p:h') |" directory containing file ('head')
Aranıyor hepsi geçerli dosya, tipi adını görüntülemek için ise :f
/ :ls
veya basın Ctrl- g(tam yol basın için 1daha sonra Ctrl- g).
İnsert modda tür Ctrl- ro %anki dosyasının adını girmek için.
Aşağıdaki komutlar, geçerli ve alternatif dosyaların tam yolundan oluşan satırları ara belleğe ekler:
:put =expand('%:p')
:put =expand('#:p')
Kaynak: Geçerli dosyanın adını vim wikia'da alın.
İlgili:
=expand...
ifadeleri Ctrl-R
, ekleme modundayken de kullanabileceğinizi belirtmek faydalı olabilir .
:!ls %:p
Geçerli dosyanın tam yolunu bulmak için kullanabilirsiniz .
Ex bağlamına bağlı olarak, %
dosyanın içeriği veya dosya adı anlamına gelir. Dışa aktarırken, geçerli dizine göre dosya yolunu temsil eder. ' %:p
' Komutu , tam yol dosya adı değiştiricisini ekleyecektir %
.
Gibi başka birkaç ilginç dosya adı değiştiricileri vardır:
:~
: Dosya yolunu giriş dizinine göre alın (bu, nedense benim için işe yaramadı):.
: Geçerli dizine göre dosya yolunu al ( %
varsayılan):r
: Dosya adı kökü. Uzantı olmayan dosyanın adı.:e
: Dosyanın uzantısı.:h
: Böl /
ve sola dön. (Yani eğer bir dosyayı yolunda düzenleyip /tmp/test.txt
çalıştırırsam %:p:h
geri dönecektir.)/tmp
:t
: Böl /
ve sağdaki yarıya dön (örneğin, bir dosyayı yolunda /tmp/test.txt
çalıştırıp çalıştırırsam %:p:t
geri dönecek)text.txt
Mevcut çalışma dizini ile görülebilir :pwd
. Elbette, bu sadece dizindir ve dosya adı değildir. Çalışma dizini ve dosya %
adını almak için, mevcut dosya hakkında bilgi içeren özel kayıt defterini kullanabiliriz .
Eğer kullanırsanız :echo @%
, geçerli dosyanın dizin ve dosya adını elde edersiniz.
Eğer kullanırsanız :echo expand('%:p')
, geçerli dosyanın tam yolunu ve dosya adını elde edersiniz. Bu CharlesL'ın cevabına çok benziyor .
Eğer Vim yardımını kullanabilirsiniz çünkü eğer ben, ama, bunu hatırlıyorum :h expand
, o zaman bahseder %
ve %:p
ve yakınlarına.
Kullanırım:
:f[ile]
Yani :f
ya :file
.
Kimsenin cevaplarda bundan bahsetmediğine şaşırdım, bir şey mi eksik?
Çözümlenen sembolik bağlantılar dahil tüm dosyalar için tam yolu göstermek için aşağıdakileri kullanın.
:echo resolve(expand('%:p'))
Çok daha iyi cevaplar var, ancak (nedense) kabuğunu dosyanın tam yolunu bulmak için kullanmak istiyorsanız (bu, kabuk üzerinde dosya üzerinde başka bir işlem yapacaksanız bu daha kullanışlıdır), Unix benzeri bir sistemde çalıştırabilirsiniz:
:!realpath %
veya:
:'<,'>!realpath %
yolu geçerli seçime göre belgeye eklemek için.
Kayıt %
her zaman dosyanın adını içerir. Eğer bir config dosyasını düzenliyorsanız, ancak yazma izinleriniz yoksa (ve Vim'i root olarak çalıştırmak istemiyorsanız), gerçek bir dünya örneği olabilir, dosyayı düzenleyebilir ve ardından çalıştırılabilir:
:w ! sudo tee %
dosyayı kaydetmek için (orada küçük bir bit offtopic, ancak bu %
kayıt ile başka neler yapılabileceğinin güzel bir örneği ).
realpath
POSIX değil, bu yüzden yapmak daha kolay olabilir:!echo "$PWD/%"
Durum satırınızı görüntülenebilir olacak şekilde ayarlamanız ve onu yola da ayarlamanız gerekir. Aşağıdaki iki satırı ~ / .vimrc dizinine ekleyerek bunu kalıcı olarak yaptım.
set laststatus=2
set statusline+=%F
Eğer sadece bir kere çalıştırmak istiyorsan. Sonra bir belge türünü VIing yaparken
:set laststatus=2 <ENTER>
:set statusline+=%F <ENTER>
Bunun için bazı vim havayolu kullanıyorum ve bazı güzel özellikler:
Düzenlemekte olduğunuz dosyanın tam yolunu başlık çubuğunda gösterebilirsiniz, bu dosya yolunu bence göstermenin uygun bir yoludur.
Bunu yapmak için ve title
seçeneğini ayarlamanız gerekir titlestring
. Geçerli Aşağıdaki ayarları kullanıyorum:
set title
set titlestring=%{hostname()}\ \ %F\ \ %{strftime('%Y-%m-%d\ %H:%M',getftime(expand('%')))}
Vim ana bilgisayar adını, ardından dosyanın tam yolunu ve ardından dosyanın son değiştirilme zamanını gösterir. Demo için aşağıdaki resme bakın
Ctrl+G
Daha çok 'vim'in cwd'sine göre yol' gibi değil mi?