Textmate: Как я ввожу повторную последовательность символов?

Похоже, вы пытаетесь использовать "\*.txt" для предотвращения расширения глобуса, так что команда find видит *.txt вместо, например, foo.txt.

Однако, в конечном итоге он видит \*.txt. Нет файлов, соответствующих этому шаблону, поэтому вы не видите выходных данных.

Чтобы find видел *.txt в качестве 3-го аргумента, вы можете сделать это:

bash -c 'find . [110] "$1" -print' "-name" "*.txt"

Редактировать: Вы действительно получаете . -name *.txt -print в качестве вывода первой команды, которую вы заменили find с echo? Когда я запускаю эту команду, я получаю . -name \*.txt -print.

6
задан PlagueHammer 7 February 2009 в 00:21
поделиться

2 ответа

В TextMate откройте Bundle Editor и выберите язык, требуется выполнить в этом. (Если требуется иметь эту функциональность на всех языках, используйте Исходный пакет), Щелчок плюс символ, внизу оставленный, и выберите "New Command". Выбрал "Nothing" для поля Save и "Выделенного текста или Строки" для этих двух полей ввода. Затем вставьте это в поле Commands:

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

Можно затем выбрать сочетание клавиш для активации этого в поле Activation. Путем это работает, очень похоже на это команда emacs: введите количество символов, которые Вы хотите сопровождаемый символом. Затем выберите их обоих (этот шаг является ненужным, если они - единственный текст на строке), и нажмите сочетание клавиш. Мой сценарий позволяет Вам указывать несколько символов для печати, разграниченный пробелами. Таким образом, если Вы ввели

10 - =

и поражает сочетание клавиш, Вы добрались бы

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

Править: После размышления об этом... вот другая версия. Этот распечатает строку после числа. Так, например,

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:])
4
ответ дан 16 December 2019 в 21:47
поделиться

Для определенного примера Вы дали, можно ввести Ctrl-Shift-B, "TODO" для создания текстового баннера.

4
ответ дан 16 December 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: