"添加国际化函数 fun! AddGettextMark(findstart, base) if a:findstart let line = getline('.') let start = col('.') - 1 return start else "gettext函数名 let func = '_i' let res = [] let se = getreg('*') let ext = expand('%:e') let qt = "'" if se =~ "[']" let qt = '"' endif let sq = qt let eq = qt if ext == 'php' let ad = '.' else let ad = '+' endif if se[0] == "'" || se[0] == '"' let sq = '' endif if se[strlen(se) - 1] == "'" || se[strlen(se) - 1] == '"' let eq = '' endif if ext == 'php' call add(res, '") endif call add(res, func . "(" . sq . se . eq . ")") call add(res, "' " . ad . " " . func . "(" . sq . se . eq . ") " . ad . " '") call add(res, '" ' . ad . ' ' . func . '(' . sq . se . eq . ') ' . ad . ' "') return res endif endfun command -nargs=0 GettextMarkStart :call GettextMarkStart() fun! GettextMarkStart() set completefunc=AddGettextMark vmap _ xi endfun