Skip to content
evaluation a text by any function
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
autoload
plugin/operator
t
.travis.yml
Gemfile
LICENSE
README.md
Rakefile
VimFlavor

README.md

vim-operator-evalf

Build Status

関数の出力結果を挿入するオペレータです。

  • Required: vim-operator-user
function! Hoge(motion, wise_name, ...)
	" wise_name = 'char', 'line' or 'block'
	return "<<" . a:motion . ">>"
endfunction

" motion の前に Hoge({motion}, {wise_name}) の実行結果を挿入する
map <expr> ss operator#evalf#mapexpr(function('Hoge'), -1)

" motion の後ろに Hoge({motion}, {wise_name}) の実行結果を挿入する
map <expr> ss operator#evalf#mapexpr(function('Hoge'), +1)

" motion の内容を Hoge({motion}, {wise_name}) の実行結果に置き換える.
" blockwise の場合には最終行を実行結果で置き換える.
map <expr> ss operator#evalf#mapexpr(function('Hoge'),  0)



" func({str}, {motion} {definition})
function! In2Pre(str, ...)
	return mconv#in2pre(a:str)
endfunction

let g:operator#evalf#config = {
\	'prefix': {'func': function('In2Pre') },
\}

" 実行後に g:operator#evalf#config で定義した関数を入力する.
" 挿入先は関数名の最初か最後に -/0/+ で指定する
map ss <Plug>(operator-evalf)
You can’t perform that action at this time.