Saya memiliki perintah berikut di vimrc saya:
execute "set path+=".getcwd()."/**"
Ini berfungsi dengan baik jika direktori kerja saat ini seperti /home/tamlok/my_work/
. Namun, jika direktori berisi spasi, seperti D:\Program Files\vim\
, vim akan mengeluh.
Saya kira saya bisa memperbaiki ini menggunakan substitute()
fungsi untuk mengganti semua ruang dengan ruang yang lolos. Apa yang akan dilakukan vimmer berpengalaman di sini?
Masalah lainnya adalah \
pada Windows. Jika getcwd()
mendapat D:\Program Files\vim\
, apakah saya harus melarikan diri \
dengan \\
atau menggantinya /
?
Untuk saat ini saya menanganinya seperti ini:
let mycwd=substitute(getcwd(), '\\', '/', 'g')
let mycwd=substitute(mycwd, ' ', '\\ ', 'g')
execute "set path+=".mycwd."/**"
Apakah itu oke? Bantuan apa pun dihargai! Terima kasih banyak!
/
sama dengan `\` di jalur file di GVim pada Windows?fnameescape()
danshellescape()
. Yang pertama digunakan ketika melewati argumen pada baris perintah Vim, sehingga mereka tidak dianiaya oleh Vim. Nanti digunakan ketika meneruskan argumen ke perintah eksternal, sehingga tidak dianiaya oleh shell. Di Windows juga adashellslash
, yang akan memiliki pengaruh besar pada jumlah rambut di kepala Anda jika Anda perlu mengotak-atik!command
dan berteman.Saya memiliki masalah yang sama. Coba gunakan saja
/
di jalur, dan keluar dari ruang kosong seperti ini\
. Misalnya saya menambahkan baris ini di vimrc saya:Daripada jika Anda akan memerintahkan
:echo &rtp
Anda dapat melihat:Perhatikan bahwa di sini tidak ada
\
spasi sebelum.sumber