В TextMate откройте редактор Bundle Editor и выберите язык, в котором вы хотели бы сделать это. (Если вы хотите иметь эту функциональность на всех языках, используйте пул источников) Нажмите символ «плюс» внизу влево и выберите «Новая команда». Выберите «Ничего» для поля «Сохранить» и «Выбранный текст или строка» для двух полей ввода. Затем вставьте в поле Команды:
#!/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])
Вы можете выбрать комбинацию клавиш, чтобы активировать это с в поле активации. То, как он работает, очень похоже на команду emacs: введите количество символов, которое вы хотите, за которым следует символ. Затем выберите оба из них (этот шаг не нужен, если они являются единственным текстом в строке) и нажмите клавишу быстрого доступа. Мой скрипт позволяет указать несколько символов для печати, помеченных пробелами. Так что, если вы набрали
10 - =
и нажмите клавишу быстрого доступа, вы получите
-=-=-=-=-=-=-=-=-=-=
Edit: Подумав об этом ... вот еще одна версия. Этот будет печатать строку после номера. Так, например
6 -= (space)
печатает
-= -= -= -= -= -=
Вот что версия:
#!/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:])
ибо кто голосовал это вниз, я хотел бы знать, почему. – PlagueHammer