Deriva o diretório vimfiles da opção runtimepath

0

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?

    
por Kyle Strand 03.06.2014 / 21:35

1 resposta

0

Acho que entendi:

set rtp&
let $VIMFILES=split(&rtp,",")[0]

Ainda parece excessivamente manual, mas não é tão feio quanto eu temia.

    
por 03.06.2014 / 21:40