Vimで少数を四捨五入したい時、少し前に作った置換コマンドを使っているが、やはり余計な0
を削除したいと感じることが多かった。手作業でやるのも限界があるので、これも置換コマンドでやっていたが、2回置換コマンドを入力するのはいかにも面倒くさい。独自コマンドはなるべく.vimrc
に書かないことにしているので、float-roundプラグインとして切り分けることにした。
コマンド名はRoundFloat
とした。
:RoundFloat 3
引数に数字を指定(必須)すると、その桁まで四捨五入される。上記例ではファイル全体の小数が小数点以下3桁に四捨五入される。
:RoundFloat 0
つまり整数に四捨五入したい場合は0にすれば良い。
:'<,'>RoundTable 3
選択範囲を受け取ることができる(デフォルトはファイル全体)ので、特定の範囲だけを処理することも可能だ。
ただし常に行単位で処理する。そしてレジスター(f
)も使う。また1桁に四捨五入した時に不要な0が削除されないというバグがまだある。注意点はこれくらいで、それなりに便利に使っている。