Próbuję uzyskać zmienną rozwiniętą w wywołaniu polecenia. Oto co mam w moich .vimrc
:Jak rozwinąć zmienne w poleceniach vim?
command! -nargs=1 -complete=dir TlAddPm call s:TlAddPm(<f-args>)
function! s:TlAddPm(dir)
let flist = system("find " . shellescape(a:dir) . " -type f -name '*.pm' | sort")
TlistAddFiles `=flist`
endfun
W wierszu :
składnia `=flist`
wydaje się działać (lub przynajmniej nie ze zmienną w:
), ale w pliku .vimrc
nie robi - TlistAddFiles właśnie przeszedł ciąg `=flist`
.
Dzięki odpowiedziom Andrzeja Barnetta i Mykoły Golubiejewa otrzymałem to, co wydaje się działać. Czy nie ma lepszego sposobu?
command! -nargs=1 -complete=dir TlAddPm call s:TlAddPm(<f-args>)
function! s:TlAddPm(dir)
let findres = system("find " . shellescape(a:dir) . " -type f -name '*.pm' | sort")
let flist = []
for w in split(findres, '\n')
let flist += [ fnameescape(w) ]
endfor
exe "TlistAddFiles " . join(flist)
endfun
jaka jest definicja pliku TlistAddFiles? –
To z wtyczki taglisty http://vim-taglist.sourceforge.net/ – derobert
czy nazywasz s: TlAddPm (dir) z .vimrc? –