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

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

ただいまの
回答率

90.49%

  • Vim

    512questions

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

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

解決済

回答 2

投稿

  • 評価
  • クリップ 1
  • VIEW 320

pythago

score 39

以下の数字の羅列を
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

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • mattn

    2018/01/18 11:13

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

    キャンセル

  • pythago

    2018/01/18 11:16

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

    キャンセル

回答 2

checkベストアンサー

+1

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

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

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

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


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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/18 12:34

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

    キャンセル

0

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/18 11:23

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

    キャンセル

  • 2018/01/18 11:33

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

    キャンセル

  • 2018/01/18 12:36

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

    キャンセル

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

  • ただいまの回答率 90.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Vim

    512questions

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