Coc.nvimを触ってみようアドベントカレンダー 20日目 – coc-calc

とっても楽しいcoc.nvimを触ってみようというアドベントカレンダーです。20日目はcoc-calc。入力した計算式の結果を瞬時に追記してくれる、計算機要らずな拡張です。小数点以下が多くなりがちなAWS利用費の計算に地味に役立ちます。
2021.12.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Coc.nvimを触ってみよう Advent Calendar 2021 20日目です。

今回は coc-calc です。

coc-calc について

計算します。「何のメリットが」と思われそうですが、都度計算機を出す必要がなくなることはもちろん、小数点以下の桁が多くなりがちなAWS利用費の計算が手軽になります。

weirongxu/coc-calc: Calculate extension for coc.nvim - https://github.com/

coc-calc をインストールする

vimを起動した状態で以下のコマンドを実行します。

:CocInstall coc-calc

使ってみる

init.vimへ事前に以下のkeymapを仕込んでおきます。

" append result on current expression
nmap <Leader>ca <Plug>(coc-calc-result-append)
" replace result on current expression
nmap <Leader>cr <Plug>(coc-calc-result-replace)

これで、計算結果を出す時は以下の様に入力を仕分けることができます。

目的 操作
計算式と置き換える(計算結果だけがほしい) \cr
計算式に続いて結果を書く(式として書く) \ca

計算結果だけがほしい場合は、以下のように結果が補完として出てきたタイミングで \cr と入力します。

式と結果の両方を残す場合は同タイミングにて \ca と入力します。

利用可能関数

READMEより、以下の関数が利用可能です。

abs, acos, acosh, add, asin,
asinh, atan, atanh, atan2, cbrt
ceil, cos, cosh, div, exp,
floor, hypot, ln, log, log2,
log10, max, min, mod, mul,
pow, random, round, sign, sin,
sinh, sqrt, sub, tan, tanh, trunc

引数についてはdecimal.jsを参考にします。

使い方は同じくREADMEに記述のある通りdotで始めます。

.min(11, 2, 6) = 2

あとがき

coc-calcという、機能が想像し辛い名前でしたが、計算結果をドキュメントにまとめる場合にはとても都合のよい拡張でした。入れておいて損はないのではと思います。