diff --git a/autoload/SpaceVim/layers/lang/python.vim b/autoload/SpaceVim/layers/lang/python.vim index dea02edd7..8b1fde46e 100644 --- a/autoload/SpaceVim/layers/lang/python.vim +++ b/autoload/SpaceVim/layers/lang/python.vim @@ -146,12 +146,17 @@ function! s:language_specified_mappings() abort endfunction + +function! s:Shebang_to_cmd(line) abort + let executable = matchstr(a:line, '#!\s*\zs[^ ]*') + let argvs = split(matchstr(a:line, '#!\s*[^ ]\+\s*\zs.*')) + return [executable] + argvs +endfunction + func! s:getexe() abort let line = getline(1) if line =~# '^#!' - let exe = split(line) - let exe[0] = exe[0][2:] - return exe + return s:Shebang_to_cmd(line) endif return ['python'] endf