Estoy tratando de obtener una variable expandida en una llamada de comando. Esto es lo que tengo en mis .vimrc
:¿Cómo expandir variables en comandos 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
Al :
rápido, la sintaxis `=flist`
parece funcionar (o, al menos, lo hizo con una variable w:
), pero en el archivo .vimrc
No - TlistAddFiles acaba de pasar la cadena `=flist`
.
Gracias a Andrew Barnett y respuestas de Mykola Golubyev, ahora tengo esto, que parece funcionar. ¿No hay mejor manera?
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
¿Cuál es la definición de TlistAddFiles? –
Es del plugin de taglist http://vim-taglist.sourceforge.net/ – derobert
¿llama usted a s: TlAddPm (dir) desde .vimrc? –