我对Vimscript不是特别在行,但我最终做到了:
function SmaliFileFixTagFileName()
let fname = expand("<afile>")
let delbuf = 0
if (stridx(fname, "$") != -1 )
if (stridx(fname, "\\$") == -1)
let fname = escape(fname, "$")
else
let delbuf = 1
endif
endif
exe "silent doau BufReadPre " . fname | exe "edit " . fname | exe "silent doau BufReadPost " . fname
if (delbuf == 1)
exe "bd " . escape(escape(fname, "\\"), "$")
endif
endfunction
augroup tagfix
au!
au BufReadCmd *.smali call SmaliFileFixTagFileName()
augroup end
并确保用转义为
$
作为
\$
是的。
它能满足我的需要。我暂时不谈这个,以防有人有更好的解决办法。