Vim Part16
■ このスレッドは過去ログ倉庫に格納されています
0415名無しさん@お腹いっぱい。
2009/06/21(日) 11:59:56ありがとうございます。getline('.')[col('.')-1] を使うことにします。
それでですね、カーソル上の文字によって、iまたはaを使いたいんですが、うまくいきません。
""" 別の関数(ここではstrftime())の実行結果を挿入する。
""" カーソル上の文字が '@' ならその右側に、それ以外なら左側に挿入する。
function Func1()
let ch = getline('.')[col('.')-1]
if ch == '@'
"exec "normal a<C-r>=strftime('%c')<CR>"
return "a<C-r>=strftime('%c')<CR>"
else
"exec "normal i<C-r>=strftime('%c')<CR>"
return "i<C-r>=strftime('%c')<CR>"
endif
endfunction
":nmap <C-¥> :call Func1()
:nmap <expr> <C-¥> Func1()
これを実行すると、<C-r>=strftime('%c')<CR> がそのまま挿入されてしまいます。
どなたか助けてください。
■ このスレッドは過去ログ倉庫に格納されています