Mevcut dosyanın yolunu Vim'de kalıcı olarak nasıl görüntüleyebilirim?


91

CTRLgÜzerinde çalıştığınız mevcut dosyayı görüntülediğini biliyorum . .vimrcDosya adı / yolu her zaman görüntülenecek şekilde değiştirmenin bir yolu var mı ?

Yanıtlar:


129

Durum satırınıza %Ftam yolu görüntülemek için bir ekleyin :

:help statusline

" Add full file path to your existing statusline
set statusline+=%F

Not, %Ftam yol olacak. Çalışma dizinine göre bir yol elde etmek için kullanın %f.

Durum çizginiz zaten görünmüyorsa, önce her zaman görünür olması için yapılandırmanız gerekebilir laststatus=2

set laststatus=2

Bkz :help laststatusseçenekleri ne anlama için. Normalde, birden fazla tampon açık olmadığı sürece durum çizgisi gizli veya gizli olabilir, ancak bunun için bir ekran satırı rezervinden vazgeçmeye değer, bunun gibi özelleştirmelerle her zaman sahip olmayı son derece yararlı buluyorum.


1
Kesinlikle senin cevabını benimkine tercih ederim, ama set statusline+=%Fbenim ~/.vimrccevabıma eklemek , söylediklerini yapmıyor gibi görünüyor. Docs kesinlikle ... Size katılıyorum görünse de
Tim Pote

1
Bunun hiçbir etkisi olmadı. Basit bir şeyi kaçırırsam özür dilerim, bununla ilgili herhangi bir fikrin var mı?
zallarak

1
@TimPote Hangi vim sürümü? Benim için çalışıyor. Belki de durum çizginiz onu zaten itiyor veya genişliği sınırlıyor. :set statusline=%FOlmadan deneyin+
Michael Berkowski

@zallarak Tim'e yorumuma bakın. Durum çizginiz basitçe değiştirirseniz değişir :set statusline=%Fmi? Dosya adının statü çizgisinde orada saklanıp saklanmadığını görmek için sağa veya sola doğru bakın
Michael Berkowski

2
@TimPote Belki set laststatus=2durum satırını her zaman görünür tutmak için. Bunu giydiğimi unuttum.
Michael Berkowski

20

ls = 2 olarak ayarlayın

bunu vimrc'ye ekleyin ve dosya adını her zaman en altta göreceksiniz.


set modeline benim için hiçbir şey yapmadı, ne yapması gerekiyor? (set ls = 2 olsa da bir şey yaptı). Bir dahaki sefere bunu kendi başıma çözmek için nasıl adam / yardım edebilirim? Teşekkürler! :)
Charlie Parker

1
set modelinebiraz tehlikelidir ve soruyla hiçbir ilgisi yoktur. Bir dosyanın 5 başlangıç ​​/ bitiş satırında Vim komutlarının yürütülmesine izin verir. Sadece nedenini bilen ve bunu gerçekten isteyenler tarafından açılmalıdır. (Bu yüzden bu cevabı ben -1)
DrBeco

16

Vim ile bir dosyayı düzenlerken gnome-terminalin Başlık çubuğunda dosya yolunu görüntülemenin 2 yolunu buldum.

Daha basit (ve daha iyi) yol: Aşağıdaki satırı ekleyin ~/.vimrc:

set title

Hangisi size en üstte gösterecek:

filename.ext (~/path_to_directory_where_your_file_is/) - VIM

Daha karmaşık yol size mutlak dosya yolunu gösterecektir. O oluyor bu blog yayınında biraz daha ayrıntılı olarak belgelenmiş Geçenlerde yazdım.


"Set title", terminal sekmesinde dosya adını gösterecektir. İlginç özellik.
duleshi

İlginç olduğu kadar, sorulan soruya cevap vermiyor. Ayrıca daha iyi olduğunu iddia ediyorsunuz - ama olmayabilir. Örneğin, vim'iniz tam ekran modunda olan terminalde açıksa, başlık görünmez. Bu nedenle olumsuz oy.
apprenticeDev

8

Ben çalışıyorum dosyanın tam yolunu almak için bulunan tek yoludur: :echo expand('%:p'). İsterseniz ctrl + g'yi yeniden eşleştirebilirsiniz, ancak kişisel olarak standartlardan çok fazla uzaklaşmayı sevmiyorum. F7'yi şu şekilde eşledim:

map  <F7> <Esc>:echo expand('%:p')<Return>

4
:help CTRL-Gve CTRL-Gsayım için iki paragraf aşağıya bakın .
Stefan Majewsky

1
Teşekkürler @StefanMajewsky. 1 CTRL-Gtam dosya adını gösterir. Bu seçeneği arıyordum.
Anton Kiselev

Seni seviyorum Tim, bu, olmadan bile mutlak yolu kesinlikle göstermenin tek yolu ~.
ryancheung

7

Eğer kullanıyorsanız vim-havayolu , koyun .vimrc:

let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'

Bu değişen, havayolu varsayılan bir değişik şeklidir %ftarafından %F.


6

Her zaman kullandım :f, ancak @MichaelBerkowski'nin cevabı ve bağlantıları harika!

:f yolu, satır sayısını, değiştirilmiş durumu, geçerli imleç konumunu ve daha fazlasını gösterir ...

Bilmiyordum CTRLGama aynı gibi görünüyor.


5

Statü çizgisi çok güçlü ve kullanışlı olduğunu düşünüyorum. Kutudan çıkan boğaz, dosya adını, imleç konumunu ve bazı bayrakları gösterecektir. Ama benimle aynı şeyi yapmak ve -part dosya adını dosyanın tam yolu ile değiştirmek istiyorsunuz .

Dolayısıyla, .vimrcdurum satırımı düzenlerken varsayılan olarak şuna benzer bir şeye benzeyebilir:

.vimrc                                                        26,16           7%

Durum çizgisi ayarınızı şununla görüntüleyebilirsiniz:

:set statusline?

Ancak herhangi bir değişiklik yapmadıysanız ve hiçbir modül değiştirmediyse, boş olacaktır. Ancak yardım bölümündeki ( :help statusline) örneklerden , varsayılanın:

:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P

Yani bu dahil .vimrcve değişim %fiçin %F. Ayrıca %yuygun bulduğum için durum satırıma dosya türü bayrağını ( ) ekledim. Sonuç olarak ortaya çıkan konfigürasyonum şuna benziyor:

:set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P

Ve sonuç şuna benzer:

~/.vimrc [vim]                                                26,16           7%

İyi okumalar:

PS. Vim 7.3 çalıştırıyorum


4

Yolun çözülmüş sembolik bağları içermesini istiyorsanız, aşağıdakileri kullanın:

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

Ana dizininiz için '~' kısaltmasını korumak için şunları ekleyin: fnamemodify

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

LTS Ubuntu 16.04 içine VIM SSH için iTerm2 kullanılarak 7.4 benim için çalıştı Bunların her ikisi de
James Nicholson
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.