2013-08-23 47 views
6

SO question này đã giúp tôi dùng thử Sublime Text 3 để thay thế cho trình chỉnh sửa tệp của Stata trên Linux (hướng dẫn đầy đủ here).Trong Sublime Text 3, tôi có thể gửi một tập tin được chọn tới Stata không?

Công cụ đánh dấu cú pháp và lối tắt Ctrl+B gửi toàn bộ tệp tới Stata.

Có cách nào để chỉ gửi một chuỗi các dòng đến Stata không?

+1

Stata có API cơ bản cho phép mọi người viết mã (xem http://www.stata.com/automation/). Bạn có thể truy cập API đó thông qua Applescript trên OS X (đó là cách plugin này hoạt động: https://github.com/andrewheiss/SublimeStata13), và có vẻ như nó có thể truy cập thông qua VB.net trên Windows, nhưng tôi không biết những gì Linux có thể sử dụng. Lý tưởng nhất là một số loại API Python sẽ làm cho nó hoạt động phổ biến. – Andrew

+0

@Andrew Cảm ơn mẹo. Tôi đã nhận thức được khả năng tự động hóa Win. Nhưng lại thích gắn bó với Linux. Đáng buồn thay, Notepad ++ có lẽ là điều cuối cùng tôi đang thiếu từ máy Win của tôi. Và dường như không có cách nào dễ dàng xung quanh nó. – radek

+1

Phải có cách nào đó. Một số người ở NASA có cầu Python/Stata thô sơ (xem http://www.stata.com/meeting/sandiego12/materials/sd12_fiedler.pdf và http://ntrs.nasa.gov/archive/nasa/casi.ntrs .nasa.gov/20130013847_2013013651.pdf) nhưng dường như chỉ hoạt động trong Windows. Có lẽ một cái gì đó như [xautomation] (http://hoopajoo.net/projects/xautomation.html) sẽ làm việc, kịch bản một số loại quá trình sao chép/dán vào cửa sổ lệnh Stata. – Andrew

Trả lời

2

Có thể. Trước tiên, bạn cần phải tìm tên của hàm python. Đối với số SublimeStata Enhanced package, nó tương ứng với hàm text_2_stataCommand trong tệp text_2_stata.py.

Thứ hai, bạn cần thêm lối tắt cho hàm này trong tệp người dùng Ràng buộc khóa, nơi bạn đặt tên hàm trong trường lệnh (hậu tố Lệnh phải được loại bỏ và dấu tách được chỉ định bằng dấu gạch dưới thay cho chữ hoa) .

{ "keys": ["super+shift+b"], 
"command":"text_2_stata", 
"context": [ 
{"key": "selector", "operator": "equal", "operand": "source.stata"},] 
}, 
+0

Nếu đây là lần đầu tiên bạn sử dụng keybinding của người dùng: Chuyển đến Preferences> Key Bindings - User. Đặt mã ở trên giữa hai dấu ngoặc vuông được cung cấp cho bạn và lưu tệp. –

+0

Ngoài ra, nếu bạn đang sử dụng Stata 13+, hãy sử dụng text_2_stata13 thay vì text_2_stata. –

+0

Tôi đã xem qua bài đăng này khi tôi đang tìm kiếm giải pháp Mac cho cùng một vấn đề và đang hoạt động tốt. Tôi có thể hỏi, nếu có khả năng gửi toàn bộ tập tin không chỉ là lựa chọn cho Stata? – Konrad