[Vim問題] Vimで計算する最も簡単な方法は?

この記事は約4分で読めます。

この記事では、Vimでプラグイン無しで計算する方法のうち、「Expression レジスタ “=」についてご紹介します。

スポンサーリンク

[解答] Expression レジスタ “= を使う

ちょっと特殊なレジスタを利用します。ヘルプの説明はこちら。

7. Expression レジスタ “=                       quote_= quote= @=
これは、本当はテキストを蓄えるレジスタではないが、レジスタを使うコマンドで式
評価するため
に使える。この expression レジスタは読み取り/書き込み可能である。

” または CTRL-R の後に ‘=’ を打ち込むと、カーソルはコマンド行に移動し、あらゆ
る式を入力することができる (expression を参照)。コマンドラインから入力できる
普通の編集用コマンドは、式用の特別履歴も含め、全て使用可能である。<CR> を打ち
込んでコマンドライン入力を終了させると、式の結果が計算される。<Esc>を打ち込ん
で終了させると、式は破棄される。式が入力されないときは、(コマンド “/” と同様)
前回の式が使われる。

式を評価した結果は文字列でなければならない。評価した結果が数値なら、文字列に変
換される。”p” と “:put” コマンドの場合、結果が浮動小数点数なら文字列に変換され
る。リストの場合、各要素が文字列に変換され、それぞれが 1 行として挿入される。
辞書または FuncRef はエラーメッセージが出る(string()を使って変換する)。

レジスタ “= が “p” で使われると、文字列は <NL> 文字 {訳注: New Line — 改行}
の所で分割される。文字列が <NL> で終わっていたら、これは行単位のレジスタと見な
される。

change – Vim日本語ドキュメント

こちらはヘルプがかなり分かりづらいです。

要は、この Expression レジスタを使うと、計算などの処理を実行して挿入することが可能です。

例えば、20+80 の計算結果を Expression レジスタに格納して、結果を貼り付けるとこうなります。

Expression レジスタで 20+80 を計算してみた

電卓を出して打ち込むよりは早いですが、なかなか使いどころが難しいかもしれません。

ここで実行できる計算は、こちらを参考にしてください。

eval - Vim日本語ドキュメント

ちなみに、インサートモードで Ctrl+r = と実行すると、計算結果がすぐに挿入できます。

この辺は好みが分かれるかもしれません。

計算式

単純な計算は簡単です。

=20+80 (100が無名レジスタに格納される)
=10-2 (8が無名レジスタに格納される) 
=5*12 (60が無名レジスタに格納される) 
=150/30 (5が無名レジスタに格納される) 

プログラミング言語やExcelのようにも計算できたりなんかします。

=round(123.456)
=pow(5, 3)
=printf("0x", 155)

といっても、あくまで一行での計算になりますので、ほどほどに。

このVimコマンドの補足情報

  • 利用頻度2.0
  • 便利さ3.0
  • 覚え易さ2.0

関連するVimヘルプ

Vimからは、下記のコマンドでヘルプを確認できます。

:help quote_=
:help quote=
:help @=

ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。

参考書籍

こちらの書籍が参考になります。

実践Vim 思考のスピードで編集しよう! (アスキー書籍) | Drew Neil, 新丈 径 | 工学 | Kindleストア | Amazon
AmazonでDrew Neil, 新丈 径の{ProductTitle}。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

Vim/neovim関連の書籍で、もっとも評判が良い(気がする)書籍です。Vim基本動作に関するバイブルと読んでる人もいます。その高い評価は、Amazonのレビューを読んでも間違いありません。

 

Vimテクニックバイブル~作業効率をカイゼンする150の技 | Vimサポーターズ | 工学 | Kindleストア | Amazon
AmazonでVimサポーターズの{ProductTitle}。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

こちらもVim関連の書籍で評価が高い書籍です。Vimを実践で使うノウハウが詰まっていますので、Vimmerなら一読する価値アリです。

 

Vim script テクニックバイブル ~Vim使いの魔法の杖 | Vim scriptサポーターズ |本 | 通販 | Amazon
AmazonでVim scriptサポーターズのVim script テクニックバイブル ~Vim使いの魔法の杖。アマゾンならポイント還元本が多数。Vim scriptサポーターズ作品ほか、お急ぎ便対象商品は当日お届けも可能。またVim script テクニックバイブル ~Vim使いの魔法の杖もアマゾン配送商品なら通常...

Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊。Vim力を伸ばすなら、一度は読んでおくべきかも知れません。

プロフィール
管理人
Vim 一郎

Vim力アップして、そろそろ上級 Vimmer の仲間入りしたいIT系エンジニアの端くれです。読んでくる訪問者の皆様と一緒に、Vim力を上げていくことができる記事が書ければと考えています。

Vim 一郎をフォローする
Vim操作方法
Vim 一郎をフォローする
スポンサーリンク
関連記事
Vim入門
タイトルとURLをコピーしました