2009-02-06 6 views
6

Ich brauche oft Text eingeben (bestehend aus wiederholten Zeichen) wie folgt aus:Textmate: Wie gebe ich eine wiederholte Zeichenfolge ein?

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

In Emacs, ich

C-u 60 - 

tun können, die eine Strg + U von einem "60" gefolgt ist, gefolgt durch ein "-", was die Eingabe einer wiederholten Zeichenfolge vereinfacht.

Gibt es eine Möglichkeit, so etwas in TextMate zu tun?

+0

Denn wer diese überstimmt, würde ich wissen, warum lieben. – PlagueHammer

Antwort

4

Öffnen Sie in TextMate den Bundle-Editor und wählen Sie die gewünschte Sprache. (Wenn Sie diese Funktionalität in allen Sprachen verwenden möchten, verwenden Sie das Quellenbündel). Klicken Sie unten auf das Pluszeichen links und wählen Sie "Neuer Befehl". Wählen Sie "Nichts" für das Feld Speichern und "Ausgewählter Text oder Linie" für die zwei Eingabefelder. Dann fügen Sie das in das Feld Befehle ein:

Sie können dann eine Tastenkombination auswählen, um dies im Feld Aktivierung zu aktivieren. Die Funktionsweise ähnelt sehr dem Befehl emacs: Geben Sie die Anzahl der Zeichen ein, auf die das Zeichen folgen soll. Wählen Sie dann beide aus (dieser Schritt ist nicht notwendig, wenn sie der einzige Text in der Zeile sind) und drücken Sie die Tastenkombination. In meinem Skript können Sie mehrere zu druckende Zeichen angeben, die durch Leerzeichen getrennt sind. Also, wenn Sie

getippt
10 - = 

und drücken Sie die Schnelltaste, dann würden Sie

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

bearbeiten erhalten: Nach dem darüber nachzudenken ... hier ist eine andere Version. Dieser druckt die Zeichenfolge nach der Nummer. So zum Beispiel

6 -= (space) 

druckt

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

Hier ist die Version:

#!/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

Für das spezifische Beispiel, das Sie angegeben haben, können Sie Ctrl-Shift-B, "TODO" eingeben, um ein Textbanner zu erstellen.

Verwandte Themen