Acho que entendi:
set rtp&
let $VIMFILES=split(&rtp,",")[0]
Ainda parece excessivamente manual, mas não é tão feio quanto eu temia.
Eu quero definir uma variável $VIMFILES
no meu arquivo vimrc
para determinar de uma maneira não específica da plataforma o caminho do arquivo do meu diretório vimfiles
(a la Como obtenho o diretório pessoal do Vim? . Isso deve ser trivial (na verdade, acho que deveria ser uma variável interna), mas não consigo descobrir uma maneira robusta de fazer isso. O método usando um plugin requer que você coloque qualquer código que realmente use esta variável no diretório after
, o que (na minha opinião) torna o plugin quase inútil. O método usando if has
para determinar o sistema operacional e definir manualmente a variável parece absurdamente frágil e tedioso.
Portanto, gostaria de supor que o primeiro componente do valor padrão da opção runtimepath
é o diretório vimfiles
desejado.
No entanto, não tenho ideia de como extrair o componente primeiro de rtp
. Isso, novamente, parece que deve ser trivial, mas &rtp[0]
expande para o primeiro caractere do caminho do runtim, porque aparentemente &rtp
é na verdade uma string, embora seja claramente semanticamente uma lista (! !?).
Então ... como obtenho o primeiro componente do caminho do caminho? Existe uma maneira melhor de fazer isso?
Tags vim vimrc cross-platform