Sublime Text 2の各選択に番号を追加します。選択ごとに1つずつ増加します


190

Sublime Text 2のカーソルごとに1ずつ増える数値を挿入する方法はありますか?

|として、カーソルとして:

Lorem ipsum dolor sit amet, |
vehicula sed, mauris nam eget| 
neque a pede nullam, ducimus adipiscing, 
vestibulum pellentesque pellentesque laoreet faucibus.|

望ましい結果:

Lorem ipsum dolor sit amet, 1|
vehicula sed, mauris nam eget2| 
neque a pede nullam, ducimus adipiscing, 
vestibulum pellentesque pellentesque laoreet faucibus.3|

この機能はネイティブに存在しますか、それともそれを提供するプラグインはありますか?

回答:


330

プラグインText Pastryをお勧めします。番号シーケンスコマンドは、あなたが必要とするものです。

Insert Numsコマンドを使用したい

Text Pastryは、1つのスペースで区切られた3つの数値を提供することにより、Insert Nums構文をサポートしています。

NMP

N:開始インデックス。

Mは、各選択のインデックスに追加されるステップサイズを表します。

Pは0より大きくなければならず、インデックスを先行ゼロで埋めるために使用されます。


63
途方もなく役立つ。
digitalextremist 2013年

1
テキストペストリー:複数選択::複数選択:検索と置換
gfullam '12年

このプラグインは私にぴったりです。しかし、1から5に増やして、複数回繰り返す必要があります。これを行うにはどうすればよいですか?
チャッキー2015

4
私はまず、ナンバリング用のテキストペストリーを使用し、ラインを選択して、影響を受けるすべての行を選択するには、Ctrl + Shiftキー+ Lを使用していたことがわかったyoutube.com/watch?v=upEieoTwnjs
マニッシュ

13
このソリューションはSublime Text 3でも機能します。私にとっての主な問題は、Text Pastryコマンドライン(CTRL-ALT-N)を開く方法を知る必要があることでした。したがって、01から10まで増分する数値を取得するには、10行を選択し(Shift +右クリック/目的の列をドラッグ)、を押してCTRL-ALT-Nから、1 1 2
Gus

107

私はあなたが求めることを達成する唯一の方法はあなた自身のプラグインを作成することだと思います。

Tools/New Plugin...

import sublime_plugin


class IncrementSelectionCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        start_value = int(self.view.substr(self.view.sel()[0]))

        counter = 0
        for selection in self.view.sel():
            self.view.insert(edit, selection.begin(), str(start_value + counter))
            counter = counter + 1

        for selection in self.view.sel():
            self.view.erase(edit, selection)

それをUserディレクトリに保存します。次に、ショートカットを追加しますKey Bindings - User

{ "keys": ["YOUR_SHORTCUT"], "command": "increment_selection" }

これで、必要な場所にカーソルを配置できます。

ここに画像の説明を入力してください

カウンターの開始番号(この場合は1)を挿入します。

ここに画像の説明を入力してください

入力した番号を選択(shift<—):

ここに画像の説明を入力してください

ショートカットを入力します。

ここに画像の説明を入力してください


5
素晴らしい回答、とても役に立ちました。機会があればすぐにやります。
マイケルロビンソン

このプラグインを作成しようとしましたが、機能させることができ1ませんでした。複数のカーソルを配置し、ホットキーを挿入して押しても何も起こりません。新しいプラグインをアクティブにするために必要なことはありますか?
マイケルロビンソン

1
はい、そうしました。私のホットキーは、キーバインディング-ユーザーの `{" keys ":[" ctrl + alt + i "]、" command ":" increment_selection "}`です。ST2コンソールに出力がない
Michael Robinson

1
MacとWindowsの両方でコードを検証しましたが、動作するはずです。ショートカットを入力した後、コンソールを確認してくださいView/Show Console。問題を理解するのに役立つエラーが発生している可能性があります()。
Riccardo Marotti 2013年

1
素晴らしいプラグイン!唯一の欠点は、選択範囲のすべての整数がまったく同じ値である必要があることです。
Gabe Hiemstra、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.