Tengo el siguiente comando en mi vimrc:
execute "set path+=".getcwd()."/**"
Funciona bien si el directorio de trabajo actual es como /home/tamlok/my_work/
. Sin embargo, si el directorio contiene espacios, como D:\Program Files\vim\
, vim se quejará.
Supongo que puedo arreglar esto usando la substitute()
función para reemplazar todos los espacios con espacios escapados. ¿Qué haría un vimmer experimentado aquí?
Otro problema es \
en Windows. Si getcwd()
consigue D:\Program Files\vim\
, ¿necesito para escapar de la \
con \\
o sustituirla /
?
Por ahora lo manejo así:
let mycwd=substitute(getcwd(), '\\', '/', 'g')
let mycwd=substitute(mycwd, ' ', '\\ ', 'g')
execute "set path+=".mycwd."/**"
¿Eso esta bien? Cualquier ayuda es apreciada! ¡Muchas gracias!
/
lo mismo que `\` en la ruta del archivo en GVim en Windows?fnameescape()
yshellescape()
. El primero se usa al pasar argumentos en la línea de comando de Vim, para que Vim no los moleste. El último se usa al pasar argumentos a comandos externos, para que el shell no los moleste. En Windows también existeshellslash
, lo que tendrá una gran influencia en la cantidad de pelos en la cabeza si alguna vez necesita meterse con!command
amigos.Yo tuve el mismo problema. Intenta usarlo solo
/
en rutas y escapa de espacios en blanco como este\
. Por ejemplo, agrego esta línea en mi vimrc:Que si usted lo ordena
:echo &rtp
puede ver:Tenga en cuenta que aquí no hay
\
espacios en blanco antes.fuente