Eu tenho o seguinte comando no meu vimrc:
execute "set path+=".getcwd()."/**"
Funciona bem se o diretório de trabalho atual for semelhante /home/tamlok/my_work/
. No entanto, se o diretório contiver espaços, como D:\Program Files\vim\
, vim reclamará.
Suponho que posso corrigir isso usando a substitute()
função para substituir todos os espaços por espaços de escape. O que um vimmer experiente faria aqui?
Outra questão é \
no Windows. Se getcwd()
fica D:\Program Files\vim\
, eu preciso para escapar do \
com \\
ou substituí-lo por /
?
Por enquanto, eu manejo assim:
let mycwd=substitute(getcwd(), '\\', '/', 'g')
let mycwd=substitute(mycwd, ' ', '\\ ', 'g')
execute "set path+=".mycwd."/**"
Tudo bem? Qualquer ajuda é apreciada! Muito obrigado!
/
o mesmo que `\` no caminho do arquivo no GVim no Windows?fnameescape()
eshellescape()
. O primeiro é usado ao passar argumentos na linha de comando do Vim, para que eles não sejam molestados pelo Vim. O último é usado ao passar argumentos para comandos externos, para que eles não sejam molestados pelo shell. No Windows, há tambémshellslash
, o que terá uma grande influência no número de cabelos na sua cabeça, se você precisar mexer com os!command
amigos.Eu tive o mesmo problema. Tente usar apenas
/
nos caminhos e escape dos espaços em branco dessa maneira\
. Por exemplo, adiciono esta linha no meu vimrc:Do que se você comandar,
:echo &rtp
poderá ver:Observe que aqui não existe
\
espaço em branco antes.fonte