Macos 如何在TextMate中多次执行操作(Emacs和Vim都可以轻松执行!)?

Macos 如何在TextMate中多次执行操作(Emacs和Vim都可以轻松执行!)?,macos,textmate,comments,Macos,Textmate,Comments,Emacs:C-U(79)»一个漂亮的79个字符长度分隔符 VIM:79-i-#»见上文 : 或者只是假设我们将进行一个Ruby调用,或者在某个地方有一个代码片段?我将创建一个bundle命令来实现这一点 您可以将编辑器选择作为脚本的输入,然后用执行结果替换它。例如,此命令将采用选定的数字,并将字符“#”打印该次数 python -c "print '#' * $TM_SELECTED_TEXT" 当然,本例不允许您指定字符,但它让您了解可能的情况。通过 python -c "print '#

Emacs
C-U(79)
»一个漂亮的79个字符长度分隔符

VIM
79-i-#
»见上文


或者只是假设我们将进行一个Ruby调用,或者在某个地方有一个代码片段?

我将创建一个bundle命令来实现这一点

您可以将编辑器选择作为脚本的输入,然后用执行结果替换它。例如,此命令将采用选定的数字,并将字符“#”打印该次数

python -c "print '#' * $TM_SELECTED_TEXT"
当然,本例不允许您指定字符,但它让您了解可能的情况。

通过

python -c "print '#' * $TM_SELECTED_TEXT"
更进一步,你可以重复你在问题中给出的例子

只需制作一个名为divider的代码段,例如,将
选项卡触发器
字段设置为适当的
'-'
,然后输入如下内容:

`python -c "print '_' * $TM_COLUMNS"`
然后当您键入
--⇥(短划线选项卡),您应该获得正确宽度的分隔符


诚然,您已经失去了从vim获得的一些简洁性,但这更易于重用,并且您只需键入一次。你也可以使用你喜欢的任何语言。

受其他答案启发。使用以下内容制作一个代码段:

`python -c "print ':'.join('$TM_SELECTED_TEXT'.split(':')[:-1]) * int('$TM_SELECTED_TEXT'.split(':')[-1])"`
并可选择为其指定键序列,例如CTRL-SHIFT-R

如果键入
-x:4
,选择它,然后调用代码段(例如通过它的快捷方式),您将得到“-x-x-x”

您还可以使用
::4
获取“::”


您重复的字符串用单引号括起来,因此要重复,必须使用\。

我遗漏了一点:如何重用此字符串?问题在于执行一个动作,而不仅仅是插入一个角色。我是否必须为我想重复的每个动作编写一个新的Python程序?