Jawaban:
Seperti yang sudah disarankan, Anda dapat menggunakan autochdir, yang akan mengubah direktori file yang Anda buka, opsi lainnya adalah
:cd mydirectory
yang akan mengubah direktori. Ini bisa menjadi jalur absolut atau relatif, jadi :cd ..
akan naik satu tingkat. Atau Anda dapat menggunakan :cd %:h
yang juga akan mengubah ke direktori tempat file saat ini berada, tetapi tanpa menyetel autochdir.
:cd
akan mengubah direktori ke direktori home Anda (atau di windows, cetak direktori saat ini).
:cd -
akan mengubah direktori ke direktori sebelumnya yang Anda kunjungi.
%
diterjemahkan ke nama file saat ini termasuk jalur, :
menambahkan pengubah, h
adalah kepala, yaitu jalur hingga pemisah jalur terakhir, yang tidak termasuk nama file itu sendiri.
Juga jika Anda menjelajahi sistem file dengan file explorer netrw Anda dapat mengatur direktori saat ini dengan menekan tombol c.
set autochdir
untuk membuat 'c' key
efek di shell, sehingga Anda dapat menggunakan !command args
dir yang diubah.
Coba tambahkan set autochdir
ke .vimrc
. Jika Anda ingin mengubahnya sekali ini saja, gunakan :cd
(atau :cd!
untuk memaksanya).
cnoremap cd. lcd %:p:h
dan nnoremap ,cd :cd %:p:h<CR>:pwd<CR>
sebagai gantinya
'c' key
dalam file explorer netrw untuk menyertai ini.
Saya tidak tahu apa yang salah dengan vim. Saya ingin direktori tempat saya memulai vim sebagai saat ini.
Saya telah mengikuti tip tentang autochd di atas dan mengaturnya ke noautcd di .vimrc saya.
Saya belum melakukannya, tetapi saya akan memulai vim seperti ini mulai sekarang:
vim —cmd 'cd `pwd`'
Itu akan membuatnya menempel pada direktori saat ini!
Dengan netrw:
selain menekan ctombol untuk mengatur direktori saat ini, Anda juga dapat menempatkan:
let g:netrw_keepdir= 0
di Anda .vimrc
; ini berarti netrw
direktori penjelajahan akan tetap sama dengan direktori saat ini.
Menambahkan ini ke .vimrc
direktori kerja Vim saya secara otomatis mengubah ke file saat ini:
autocmd BufEnter * silent! :lcd%:p:h
set autochdir
melakukan itu juga :-)