我经常需要输入文字(由重复的字符组成),如下所示:
------------------------------------
TODO
------------------------------------
Run Code Online (Sandbox Code Playgroud)
在emacs中,我可以做一个
C-u 60 -
Run Code Online (Sandbox Code Playgroud)
这是一个Ctrl + U后跟一个"60"后跟一个" - ",这使得输入一个重复的字符序列很容易.
有没有办法在TextMate中做这样的事情?
在 TextMate 中,打开捆绑包编辑器并选择您想要执行此操作的语言。(如果您希望在所有语言中都具有此功能,请使用源捆绑包)单击左下角的加号,然后选择“新命令。” 为“保存”字段选择“无”,为两个输入字段选择“选定的文本或行”。然后将其粘贴到命令字段中:
#!/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])
Run Code Online (Sandbox Code Playgroud)
然后,您可以在“激活”字段中选择键盘快捷键来激活它。它的工作方式与 emacs 命令非常相似:键入所需的字符数,然后键入该字符。然后选择它们(如果它们是该行中唯一的文本,则无需执行此步骤)并按快捷键。我的脚本允许您指定要打印的多个字符,并以空格分隔。所以如果你输入
10 - =
Run Code Online (Sandbox Code Playgroud)
然后按快捷键,你会得到
-=-=-=-=-=-=-=-=-=-=
Run Code Online (Sandbox Code Playgroud)
编辑:经过思考...这是另一个版本。这将在数字后面打印字符串。例如
6 -= (space)
Run Code Online (Sandbox Code Playgroud)
印刷
-= -= -= -= -= -=
Run Code Online (Sandbox Code Playgroud)
这是那个版本:
#!/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:])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1355 次 |
| 最近记录: |