Yanıtlar:
Ö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.
%, 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.
Ayrıca dosya sistemine netrw dosya gezgini ile göz atıyorsanız, c tuşuna basarak mevcut dizini ayarlayabilirsiniz.
set autochdiriçin de kullanın . 'c' key!command args
Eklemeyi deneyin set autochdiradresinden Müşteri .vimrc. Yalnızca bu kez değiştirmek istiyorsanız, kullanın :cd(veya :cd!zorlamak için).
cnoremap cd. lcd %:p:hnnoremap ,cd :cd %:p:h<CR>:pwd<CR>
'c' keybuna eşlik etmek için netrw dosya gezgininde de kullanın .
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!
İ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 .
Bunu benim için .vimrcotomatik olarak eklemek Vim'in çalışma dizinini mevcut dosyaya değiştirir:
autocmd BufEnter * silent! :lcd%:p:h
set autochdirbunu da yapıyor :-)