02/01/30 00:19
>>146
便利そうなスクリプトなので日本語対応版を書いてみました。ちょっと圧縮バージョ
ンなので見難いかもしれないけどこれも勉強になるでしょう。
# 香り屋版には組み込むかも。
command! -nargs=* -range Transform <line1>,<line2>call Transform(<f-args>)
function! Transform(from_str, to_str, ...)
if a:0 | let string = a:1 | else | let string = getline(".") | endif
let from_str = a:from_str | let to_str = a:to_str
while 1
let from_char = matchstr(from_str, '^.')
if from_char == '' | break | endif
let to_char = matchstr(to_str, '^.')
let from_str = strpart(from_str, strlen(from_char))
let to_str = strpart(to_str, strlen(to_char))
let string = substitute(string, from_char, to_char, 'g')
endwhile
if a:0 | return string | else | call setline(".", string) | endif
endfunction