Vim'de çalışma / güncel dizin nasıl ayarlanır?


109

Yani: e komutunu kullanarak yeni bir dosya oluşturmak istediğimde, tüm yolu belirtmek istemiyorum, sadece yeni dosya adını belirtmek istiyorum. Yapılabilir mi?

Yanıtlar:


144

Önceden önerildiği gibi, açtığınız dosyanın dizinine geçecek olan autochdir'i kullanabilirsiniz, diğer seçenek

:cd mydirectory

dizini değiştirecek. Bu mutlak veya göreceli bir yol olabilir, bu nedenle :cd ..bir seviye yukarı çıkacaktır. Ya :cd %:hda, autochdir'i ayarlamadan, geçerli dosyanın bulunduğu dizini de değiştirecek olanı kullanabilirsiniz.

:cd

dizini ana dizininiz olarak değiştirir (veya Windows'ta geçerli dizini yazdırır).

:cd -

dizini ziyaret ettiğiniz önceki dizine değiştirir.


13
Birden çok pencere kullanıyorsanız, sadece geçerli pencere için dizini değiştirmek için: lcd'yi bile kullanabilirsiniz.
Yararsız

1
@ Yararsız: ilginç ... Bunu hiç isteyeceğimi sanmıyorum, ama sanırım bu bir zevk meselesi. Bilgi için teşekkürler.
falstro

3
%: H'nin ne anlama geldiğini anlamaya çalışıyorum, herhangi bir yardım var mı?
Michael

10
@Michael %, yol dahil geçerli dosya adını çevirir, :değiştirici ekler h, yani son yol ayırıcısına kadar olan yol, yani dosya adının kendisini hariç tutar.
falstro

@falstro, nasıl: cd komutunun aynı vim çalışan örneklerdeki tüm pencerelere uygulanabileceğini biliyor musunuz? Ör: bölme kullanılırken: sp
mgouin

15

Ayrıca dosya sistemine netrw dosya gezgini ile göz atıyorsanız, c tuşuna basarak mevcut dizini ayarlayabilirsiniz.


ayrıca değiştirilmiş dir altında kullanabilmeniz için kabukta etki almak set autochdiriçin de kullanın . 'c' key!command args
pimgeek 01

9

Eklemeyi deneyin set autochdiradresinden Müşteri .vimrc. Yalnızca bu kez değiştirmek istiyorsanız, kullanın :cd(veya :cd!zorlamak için).


1
yardım, bunun bazı eklentileri kırdığını söylüyor (hangilerini bilmiyorum) bu yüzden .vimrc cnoremap cd. lcd %:p:hnnoremap ,cd :cd %:p:h<CR>:pwd<CR>
dosyama

'c' keybuna eşlik etmek için netrw dosya gezgininde de kullanın .
pimgeek

3

Vim ile ilgili sorunun ne olduğunu bilmiyorum. Şu anki olarak vim'i başlattığım dizini istiyorum.

Yukarıdaki autochd ile ilgili ipucunu takip ettim ve .vimrc dosyamda noautcd olarak ayarladım.

Henüz yapmadım, ama bundan sonra böyle bir vim başlatmak üzereyim:

vim —cmd 'cd `pwd`'

Bu, mevcut dizine yapışmasını sağlayacaktır!


2

İle netrw:basılarak ek olarak cgeçerli dizini ayarlamak için anahtarı, ayrıca koyabilir:

let g:netrw_keepdir= 0

senin içinde .vimrc; bu netrw, tarama dizinini mevcut dizinle aynı tutacağı anlamına gelir .


Bu, her netrw klasörü değişikliği için lcd ile eşdeğer bir davranışa sahip gibi görünüyor. Bunun yerine, bu ayarın a: cd ile eşdeğer olabileceği hakkında bir fikriniz var mı (tüm pencereler için dir değiştirin)? Teşekkürler!
mgouin

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.