Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vim に惚れるシーン(ID 付きの項目の番号をまとめて加減算する)

$
0
0

シーン

システムの開発時には、画面単位・機能単位に 「プログラム ID」なる番号を付与する場合があると思います。

プログラムを ID で管理すること自体の是非や、画面系と帳票系を区別なく通しで連番にしてしまっているという ID の振り方のマズさに等ついては触れていません。身近に発生しそうな適当なシーンに置き換えて読み進めてください。

ここでは、下記のように「プログラム ID」を割り当てているとしましょう。

# プログラム一覧

## 画面一覧
 - PRG0010 … メニュー画面
 - RPG0020 … 〇〇照会画面
 - PRG0030 … 〇〇登録画面
 - PRG0040 … 〇〇一覧画面
 - PRG0050 … △△照会画面
      :
      :

## 帳票一覧
 - PRG100 … 〇〇帳票
 - PRG110 … △△帳票
      :
      :
 - PRG190 … □□帳票
 - PRG200 … ◎◎帳票
 - PRG210 … ▲▲帳票
      :

機能数を適当に見積もって、画面系のプログラムを PRG000 〜 PRG090 の範囲で、帳票系のプログラムを PRG100 〜 の範囲で割り当てようとしていましたが、機能を洗い出していくうちに、画面系が 10 画面では足りなくなってきました。

どうしたい?

帳票系のIDについては、以下のように 余裕をみて PRG500 〜 の範囲に割り当て直すことにしましょう。

## 帳票一覧
 - PRG500 … 〇〇帳票
 - PRG510 … △△帳票
      :
      :
 - PRG590 … □□帳票
 - PRG600 … ◎◎帳票
 - PRG610 … ▲▲帳票
      :

どうする?

Vim には、Ctrl-Aでカーソル位置の後方にある数値を +1 することができます。
加算したい行を選択して、それぞれの行に対して一度に +400 してやれば良さそうです。

  1. まず、ID を加算したい帳票系の行を Shift-Vで選択します。
  2. :normal 400^Aを入力して、Enterキーを押します。

上記 2. の ^Aは、Ctrl-Aを表しています。実際に入力する際には、Ctrl-Vを入力した後、Ctrl-Aを入力してください。

補足

上記の例では、Ctrl-Aで加算していますが、Ctrl-Xで減算もできます。
加減算する数値が PRG0500のように 0 で始まる場合には、8進数として評価されてしまいます。このような数値を10進数として評価したい場合には、事前に :set nrformats-=octalしておく必要がある点には注意が必要です。

まとめ

ノーマルモードの Ctrl-ACtrl-Xで数値のインクリメント・デクリメントは、単純な機能ですが地味に便利です。マクロと組み合わせても色々できそう。

あと、ノーマルモードのコマンドを、コマンドラインから実行するための :normalには、無限の可能性が秘められていると思いませんか?


Viewing all articles
Browse latest Browse all 5608

Trending Articles