2009-02-06 7 views
6

Genellikle metin girmem gerekiyor (tekrarlanan karakterlerden oluşan):Metin arkadaşı: Tekrarlanan bir karakter dizisini nasıl girerim?

------------------------------------ 
TODO 
------------------------------------ 

Emacs'de bir xtrx

C-u 60 - 

yapabilirim. Tekrarlanan bir karakter sırasına girmeyi kolaylaştıran bir "-".

TextMate'de böyle bir şey yapmak için herhangi bir yolu var mı?

+0

kim için: Örneğin

6 -= (space) 

baskılar

-= -= -= -= -= -= 

Yani İşte o versiyonu. – PlagueHammer

cevap

4

TextMate'de, Bundle Editor'ü açın ve bunu yapmak istediğiniz dili seçin. (Bu işlevi tüm dillerde kullanmak istiyorsanız, Kaynak paketi kullanın) En alttaki artı simgesini tıklayın. sola ve "Yeni Komut" u seç. Kaydetme alanı için "Hiçbir şey" ve iki giriş alanı için "Seçili Metin veya Satır" ı seçin. Sonra Komutları alanına yapıştırabilirsiniz: Daha sonra Aktivasyon alanında bu etkinleştirmek için bir klavye kısayolunu seçebilir

#!/usr/bin/python 
import sys 
commandLine = raw_input("") 
tmArgs = commandLine.split() 
numberOfArgs = len(tmArgs) 
for i in range(eval(tmArgs[0])): 
    for j in range(1, numberOfArgs): 
     sys.stdout.write(tmArgs[j]) 

. Çalışma şekli, emacs komutuna çok benzer: İstediğiniz karakter sayısını karakterin ardından yazın. Sonra ikisini de seçin (bu adım, satırdaki tek metinse gereksizdir) ve kısayol tuşuna basın. Komut dosyası, boşluklarla ayrılmış, yazdırılacak birden çok karakter belirlemenize olanak tanır. Eğer

10 - = 

daktilo ve kısayol tuşuna basın Yani, sen

-=-=-=-=-=-=-=-=-=-= 

Edit alırdım: düşünmeye sonra ... Burada başka bir versiyonu. Bu, dizeden sonra numarayı basacaktır. Nedenini bilmek isteriz, bu aşağı oy

#!/usr/bin/python 
import sys 
import string 
commandLine = raw_input("") 
timesToPrint = eval(commandLine.split()[0]) 
firstSpace = string.find(commandLine, " ") 
for i in range(timesToPrint): 
     sys.stdout.write(commandLine[firstSpace + 1:]) 
4

Verdiğiniz belirli örnek için, bir metin başlığı oluşturmak için Ctrl-Shift-B, "TODO" yazabilirsiniz.