Geçerli dosyanın vim olarak görünen adı?


157

Üzerinde çalıştığınız dosyanın dosya adını vim'de nasıl görüntülersiniz?


1
Terminaliniz doğru ayarlandıysa, dosya adını pencere başlığında almalısınız.
— Cascabel



2
ctrl + g dosya bilgilerini gösterebilir
— Dhiren Hamal

Yanıtlar:


200

:f( :file) ile aynı işlemi yapar <C-G>. :f!varsa, kesilmemiş bir sürüm verir.


2
Güzel, ama terminalin üst çubuğunda göstermek mümkün mü? (veya sonlandırıcı) veya komut girmeyen bir yerde.
— eMarine

21
:f!her zaman çalışmaz, önce tam yol için 1, sonra Ctrl-G tuşlarına basın.
— ives

1
Tam bir yola ne dersin? ~/dev/file.pyVim'i başlattığımda ve :fvim içinde çalıştırdığımda file.pybunun yerine çıktı olarak alıyorum ~/dev/file.py.
— gxyd

1
@ives 1 ve Ctrl + g ayrı olarak ne anlama geliyor?
— jobima

2
@jobima: ctrl-gyol + dosyasını döndürmek için değiştirir . :fdosya adını olabildiğince yol olmadan döndürecektir ctrl-g. Bir 1önceki ctrl-gyolu & adı (zorunlu olsa genişletilmiş değil) gösterecektir. yani ~/dev/file.pyyerine gösterecektir file.py. 2ardından ctrl-gbu tampon içerecektir: buf 1: "~/dev/file.py".
— ives

71

ctrl+ gyapacak.

Ayrıca, sahip olmak istiyorum:

set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"

Hangi üretir:

foo.c [C] [kod / foo.c 1, 1% 50'nin 50'si

Ayrıca, belirtildiği gibi (ancak şimdi silinmiş olan) %mevcut dosya adıyla değiştirilecektir. Örneğin:

:! echo "geçerli dosya:%"
geçerli dosya: foo.c
Devam etmek için ENTER tuşuna basın veya komut yazın

2
Ne [C]ve [0x23]parçaları demek?
— LangeHaare

@LangeHaare İmleç altındaki karakterin filetype ve onaltılı değeri

'statusline'bir dizedir, ancak sete tırnak set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
— eklemezsiniz

18

durum satırını ayarlayın. ile daha fazla bilgi:help statusline

Bu komutlar .vimrc dosyanıza gidebilir veya komut modunda ':' yazarak bunları vim'deyken komut olarak girebilirsiniz.

İlk olarak, aşağıdakileri kullanarak son durumu 2 olarak ayarlayın:

set laststatus=2

Ardından kısa dosya adı için durum satırını% f olarak ayarlayın.

set statusline=%f

Dosyanın tam yolu için% F kullanın.


E518: Bilinmeyen Seçenek:% f
— Isius 18:17

Cevabı güncelledim Isius. Umarım bu daha açık hale getirir.
— Brian Clements

5

:set title dosya adını pencere başlık çubuğunda görüntülemek için


5

Neden bu kadar karmaşık? Control-G işi yapacak


4

Çözülmüş semboller de dahil olmak üzere herhangi bir dosyanın tam yolunu göstermek için aşağıdakileri kullanın.

:echo resolve(expand('%:p'))

Bu, durum çubuğunuza aşağıdaki satırı ekleyerek durum çubuğunuza eklenebilir. ~./vimrc

set statusline +=%{resolve(expand('%:p'))}\ %*

2

Yukarıdaki önerilerden birinin şu şekilde değiştirilmesi gerekiyordu:

set statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines

çalışmasını sağlamak için. Ayrıca

set laststatus=2

kullanıldı.


Stack Overflow'a hoş geldiniz ! Bu, muhtemelen ilgili yanıt (lar) için önerilen bir düzenleme veya yorum olmalıdır; henüz yorum yapmak veya düzenlemek için yeterli üne sahip değilsiniz, ancak iyi sorular sorarsanız ve iyi cevaplar yazarsanız yakında olacaksınız! Bu arada, cevapların yazarlarına ilgili düzeltmeleri önereceğim. İyi yakalama!
— D. Ben Knoble

1

İnanılmazı vimrcamix'den kullanıyorum: https://github.com/amix/vimrc

lightline.vimEklentiyi kullanır ve durum çubuğunda dosya adını görüntüler.

Kullanmakla ilgili en iyi şey amix/vimrc, bu eklentinin özelleştirmenin çoğunu, çok kararlı olduğunu ve github yıldızlarının sayısına ve seyrek sorunlara bakarak kontrol edebileceğiniz 1000 kişi tarafından test edilmiş olmasıdır.

Ayrıca oldukça sık güncellenir.

Not: herhangi bir eklentinin yazarı değil .. sadece bir hayran :)


1

Ben de bu benim .vimrc dosya koymak gerekir:

set noruler
set laststatus=2

Sonra set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L".vimrc dosyama benzer bir şey koyabilir ve terminalimi yeniden başlattıktan sonra durum satırı düzgün bir şekilde görüntülenir.


'statusline'bir dizedir, ancak kümeye tırnak set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
— eklemezsiniz
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.