Sublime Text 2'deki her seçime, seçim başına bir kez artan bir sayı ekleyin


190

Sublime Text 2'de imleç başına bir kez artırılan bir sayı eklemenin bir yolu var mı?

|İmleç olarak ile örnek :

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

İstenen sonuç:

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

Bu işlevsellik yerel olarak var mı veya bunu sağlayan bir eklenti var mı?

Yanıtlar:


331

Metin Pasta eklentisini öneririm . Numara Sırası komut ihtiyacınız biridir.

Numara Ekle komutunu kullanmayı tercih ederim :

Metin Hamuru, bir boşlukla ayrılmış üç sayı sağlayarak Sayı Ekle sözdizimi için bir destek içerir:

MHP

N: başlangıç ​​dizini.

M, her seçim için dizine eklenecek adım boyutunu temsil eder.

P> 0 olmalıdır ve dizini baştaki sıfırlarla doldurmak için kullanılacaktır.


63
Gülünç yardımsever.
digitalextremist

1
Metin Böreği: Çoklu seçim :: Çoklu seçim: Bul ve Değiştir
gfullam

Bu eklenti benim için mükemmel görünüyor. Ama 1'den 5'e çıkarmam ve birkaç kez tekrarlamam gerekiyor. Bunu nasıl yapabilirim?
Chucky

4
İlk önce satırları seçmem ve etkilenen tüm satırları seçmek için Ctrl + ÜstKrktr + L tuşlarını, ardından numaralandırma için Metin Hamuru kullanmam gerektiğini, youtube.com/watch?v=upEieoTwnjs
Manish

13
Bu çözüm Sublime Text 3'te de çalışır. Benim için birincil sorun, Metin Hamuru komut satırını (CTRL-ALT-N) nasıl açacağınızı bilmeniz gerektiğiydi. Bu nedenle, 01'den 10'a kadar artan sayıları almak için 10 satır seçin (shift + sağ tıklatıp / istediğiniz sütunları sürükleyin), tuşuna basın CTRL-ALT-N, sonra yazın1 1 2
Gus

107

Sorduğunuza ulaşmanın tek yolunun kendi eklentinizi oluşturmak olduğunu düşünüyorum.

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)

Dizininize kaydedin User. Ardından, aşağıdakilere bir kısayol ekleyin Key Bindings - User:

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

Şimdi imleçleri ihtiyacınız olan yere yerleştirebilirsiniz:

resim açıklamasını buraya girin

Sayacın başlaması gereken sayıyı girin (bu durumda 1):

resim açıklamasını buraya girin

Yazdığınız sayıyı seçin ( shift<—):

resim açıklamasını buraya girin

Kısayolu yazın:

resim açıklamasını buraya girin


5
Büyük cevap, çok yararlı. Bir şansım olur olmaz bunu yapacağım.
Michael Robinson

Bu eklentiyi yapmaya çalıştım, ancak işe yarayamadım - birden fazla imleç yerleştirme, 1kısayol tuşumu yerleştirme ve basma hiçbir şey yapmıyor. Yeni eklentiyi etkinleştirmek için yapmam gereken bir şey var mı?
Michael Robinson

1
Evet yaptım. Kısayol tuşum: Anahtar Bağlamaları - Kullanıcı'da [{"tuşları": ["ctrl + alt + i"], "command": "increment_selection"} `. ST2 konsolunda çıkış yok
Michael Robinson

1
Hem Mac hem de Windows'ta kodu doğruladım ve çalışması gerekiyor. Kısayolu yazdıktan sonra konsola bakmayı deneyin: belki de sorunu anlamanıza yardımcı olabilecek bazı hatalar vardır ( View/Show Console).
Ocak'ta Riccardo Marotti

1
Harika bir eklenti! Tek dezavantajı, seçimdeki her tamsayı tam olarak aynı değerde olması gerektiğidir.
Gabe Hiemstra
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.