webentwicklung-frage-antwort-db.com.de

Fügen Sie jeder Auswahl in Sublime Text 2 eine Nummer hinzu, die einmal pro Auswahl erhöht wird

Gibt es eine Möglichkeit, eine Zahl einzufügen, die einmal pro Cursor in Sublime Text 2 erhöht wird?

Beispiel mit | als Cursor:

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

Erwünschtes Ergebnis:

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

Gibt es diese Funktionalität von Haus aus oder gibt es ein Plugin, das sie bereitstellt?

188

Ich empfehle das Plugin Text Pastry . Der Zahlenfolge-Befehl ist derjenige, den Sie benötigen.

Ich bevorzuge die Verwendung des Befehls Zahlen einfügen :

Text Pastry bietet eine integrierte Unterstützung für die Insert Nums-Syntax, indem drei durch ein Leerzeichen getrennte Zahlen angegeben werden:

N M P

N: der Startindex.

M steht für die Schrittgröße, die dem Index für jede Auswahl hinzugefügt wird.

P muss> 0 sein und wird verwendet, um den Index mit führenden Nullen aufzufüllen.

326
aanton

Ich denke, dass der einzige Weg, um das zu erreichen, was Sie verlangen, darin besteht, ein eigenes Plugin zu erstellen.

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)

Speichern Sie es in Ihrem User -Verzeichnis. Dann füge eine Verknüpfung zu deinem Key Bindings - User:

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

Jetzt können Sie die Cursor dort platzieren, wo Sie sie benötigen:

enter image description here

Geben Sie die Zahl ein, von der der Zähler ausgehen soll (in diesem Fall 1):

enter image description here

Wählen Sie die eingegebene Nummer aus (shift<—):

enter image description here

Geben Sie die Verknüpfung ein:

enter image description here

106