वर्तमान विम फ़ाइल का प्रिंट आउट लेने के लिए:
:help expand
:echo expand("%:p") " absolute path
:echo expand("%:p:h") " absolute path dirname
:echo expand("%:p:h:h")" absolute path dirname dirname
:echo expand("%:.") " relative path
:echo expand("%:.:h") " relative path dirname
:echo expand("%:.:h:h")" relative path dirname dirname
:echo expand("<sfile>:p") " absolute path to [this] vimscript
:help filename-modifiers
उदाहरण के लिए (एक विम फ़ंक्शन के साथ), resolve()और expand()किसी भी सहानुभूति को वर्तमान स्क्रिप्ट के लिए पूर्ण पथ के लिए<sfile>:p (बजाय %:p), और फिर execकरने के लिए एड फ़ाइल नाम एक समारोह स्थानीय vim चर में निहित :sourcefnameescapel:vimrcfilename
" g:__sfile__dirname -- directory containing this vimrc script
" after symlinks
" ~dirname(abspath(realpath(__file__)))
let g:__sfile__dirname=fnamemodify(resolve(expand("<sfile>:p")), ":h")
" Source_dotvim(filename) -- source dirname(this_vimrc)/filename
function Source_dotvim(filename)
let l:vimrcfilename=g:__sfile__dirname . "/" . a:filename
if filereadable(l:vimrcfilename) && !empty(l:vimrcfilename)
"source s:vimrcfilename "this doesn't work, so exec:
exec "source " . fnameescape(l:vimrcfilename)
else
echo l:vimrcfilename . " empty or not found."
endif
endfunction
call Source_dotvim("vimrc.local.01-env.vimrc")
टिप्पणियाँ:
संदर्भ