2009-02-06 27 views
6

Tôi thường cần phải nhập văn bản (bao gồm ký tự lặp đi lặp lại) như thế này:Textmate: Làm cách nào để nhập chuỗi ký tự lặp lại?

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

Trong emacs, tôi có thể làm một

C-u 60 - 

đó là một tổ hợp phím Ctrl + U theo sau là một "60" theo sau bởi một "-", mà làm cho nhập một chuỗi lặp đi lặp lại của các nhân vật dễ dàng.

Có cách nào để thực hiện điều gì đó như thế này trong TextMate không?

+0

Đối với bất cứ ai đã bỏ phiếu này xuống, tôi rất muốn biết lý do tại sao. – PlagueHammer

Trả lời

4

Trong TextMate, mở Trình chỉnh sửa bó và chọn ngôn ngữ bạn muốn thực hiện. (Nếu bạn muốn có chức năng này bằng tất cả ngôn ngữ, hãy sử dụng gói Nguồn) Nhấp vào biểu tượng dấu cộng ở dưới cùng bên trái và chọn "Lệnh mới". Chọn "Không có gì" cho trường Lưu và "Văn bản hoặc Dòng đã chọn" cho hai trường nhập. Sau đó, dán mã này vào trường Lệnh:

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

Sau đó, bạn có thể chọn phím tắt để kích hoạt tính năng này trong trường Kích hoạt. Cách nó hoạt động rất giống với lệnh emacs đó: nhập số ký tự bạn muốn theo sau bởi ký tự. Sau đó chọn cả hai (bước này là không cần thiết nếu chúng là văn bản duy nhất trên dòng) và nhấn phím tắt. Tập lệnh của tôi cho phép bạn chỉ định nhiều ký tự để in, được phân tách bằng dấu cách. Vì vậy, nếu bạn đã gõ

10 - = 

và nhấn phím tắt, bạn sẽ nhận được

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

Sửa: Sau khi suy nghĩ về nó ... đây là một phiên bản khác. Điều này sẽ in chuỗi sau số. Vì vậy, ví dụ

6 -= (space) 

in

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

Dưới đây là phiên bản đó:

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

Đối với ví dụ cụ thể mà bạn đã đưa ra, bạn có thể gõ Ctrl-Shift-B, "TODO" để tạo ra một biểu ngữ văn bản.

Các vấn đề liên quan