Ścieżki względne w .vimrc

3

Chciałbym dodać coś takiego

let coffee_compiler = '~/repos/coffee-script/bin/coffee'

do mojego .vimrc, ale vim nie rozszerzy ~(oczywiście, ponieważ nie jest to moja powłoka).

Jak mogę sprawić, by działało to bez podawania mojej nazwy użytkownika? (Udostępniam plik vimrc na wielu hostach, więc twarde kodowanie nazwy użytkownika jest nie-nie.)

Attila O.
źródło

Odpowiedzi:

6

Istnieją dwa sposoby rozwiązania tego:

Wbudowana expand()funkcja obsługuje znaki specjalne i symbole wieloznaczne, takie jak powłoka:

let coffee_compiler = expand('~/repos/coffee-script/bin/coffee')

Lub, ponieważ ~odpowiada HOMEzmiennej środowiskowej, możesz połączyć jej wartość:

let coffee_compiler = $HOME . '/repos/coffee-script/bin/coffee'
Ingo Karkat
źródło
2

Powinieneś być w stanie użyć $HOMEdo tego:

let coffee_compiler = "$HOME/repos/coffee-script/bin/coffee"
10b0
źródło