質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

2回答

974閲覧

vimで行に対してインクリメント出来ません

pythago

総合スコア47

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

1クリップ

投稿2018/01/18 02:05

以下の数字の羅列を
100 100 100
100 100 100
100 100 100
100 100 100
100 100 100
100 100 100

以下のように置換したいです。
101 101 101
102 102 102
103 103 103
104 104 104
105 105 105
106 106 106

vimでg<c-a>を行えば、連番が作れるとあったので試したのですが、行の中ですべてにマッチしてくれませんでした。
参考:http://vim-jp.org/blog/2015/06/30/visual-ctrl-a-ctrl-x.html

g<c-a>で表示されるもの

101 100 100
102 100 100
103 100 100
104 100 100
105 100 100
106 100 100

どのように実装することで、これを実現できるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mattn

2018/01/18 02:13

実装と書かれていますが、回答としてはプラグインを期待されておられますか?それともキーストロークですか?
pythago

2018/01/18 02:16

キーストロークで考えています。
guest

回答2

0

ベストアンサー

横列がいっぱいあるのであればマクロを使ってみてはどうでしょうか。

  1. ビジュアル選択
  2. 最下行へ移動 ※
  3. g CTRL-a
  4. w で横の列へ

※ の部分で現在のカラムの最下行に移動する方法のワークアラウンドとして 9999j を使ってみました。

qq<C-v>9999jeg<C-a>wq

これで q にマクロが入るので @q すれば横に移動しながらインクリメントしてくれます。200列実行するのであれば 199@q で。

投稿2018/01/18 02:29

mattn

総合スコア5030

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pythago

2018/01/18 03:34

縦を一つのブロックとしてマクロを使えばスムーズに考えられるのですね。 ありがとうございます。
guest

0

矩形選択を使ってみてください。<C-v> (Ctrl + v) で矩形選択を開始できます。

投稿2018/01/18 02:13

thinca

総合スコア1864

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pythago

2018/01/18 02:23

矩形選択を用いても、ビジュアルで全体を選択したときと変わらず行の先頭の数のみ連番になりました。 thincaさんがおっしゃられているのは、その後置換が行われなかった部分に対し、矩形選択を用いるという事でしょうか?
thinca

2018/01/18 02:33

矩形選択で選択した範囲のみが連番になるはずです。 複数カラムの数値を一度に連番にすることは Vim の標準機能では難しいかと思います。 幸いドットリピートが使えるので、キーストロークとしては <C-v>Geg<C-a>w.w. でできると思います。
pythago

2018/01/18 03:36

vimの標準機能では厳しい部分もあるのだということを実感できて良かったです。 助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問