簡體   English   中英

Textmate:如何輸入重復的字符序列?

[英]Textmate: How do I enter a repeated sequence of characters?

我經常需要輸入文字(由重復的字符組成),如下所示:

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

在emacs中,我可以做一個

C-u 60 - 

這是一個Ctrl + U后跟一個“60”后跟一個“ - ”,這使得輸入一個重復的字符序列很容易。

有沒有辦法在TextMate中做這樣的事情?

對於您給出的具體示例,您可以鍵入Ctrl-Shift-B,“TODO”來創建文本橫幅。

在TextMate中,打開Bundle Editor並選擇您要執行此操作的語言。(如果您希望使用所有語言的此功能,請使用Source包)單擊左下角的加號,然后選擇“新命令。” 為“保存”字段選擇“無”,為兩個輸入字段選擇“選定的文本或行”。 然后將其粘貼到“命令”字段中:

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

並點擊快捷鍵,你會得到

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

編輯 :思考之后......這是另一個版本。 這個將在數字后打印字符串。 所以舉個例子

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:])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM