【问题标题】:In Sublime Text 3, can I send a selection of a do file to Stata?在 Sublime Text 3 中,我可以将选择的 do 文件发送到 Stata 吗?
【发布时间】:2013-08-23 20:43:19
【问题描述】:

这个 SO question 让我尝试使用 Sublime Text 3 作为 Linux 上 Stata 的 do 文件编辑器的替代品(完整说明 here)。

语法突出显示有效,Ctrl+B 快捷方式将整个 do 文件发送到 Stata。

有没有办法只向 Stata 发送选择的行?

【问题讨论】:

  • Stata 有一个底层 API,可以让人们编写脚本(参见 stata.com/automation)。您可以通过 OS X 上的 Applescript 访问该 API(这是该插件的工作方式:github.com/andrewheiss/SublimeStata13),并且似乎可以通过 Windows 上的 VB.net 访问该 API,但我不知道 Linux 可以使用什么。理想情况下,某种 Python API 可以使其普遍工作。
  • @Andrew 感谢您的提示。我知道 Win 自动化的可能性。但更喜欢坚持使用 Linux。可悲的是,Notepad++ 可能是我的 Win 机器上最后缺少的东西。而且似乎没有简单的方法解决它。
  • 一定有办法。 NASA 的某个人有一个基本的 Python/Stata 桥(参见 stata.com/meeting/sandiego12/materials/sd12_fiedler.pdfntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/…),但它似乎只能在 Windows 中工作。也许像 xautomation 这样的东西会起作用,将某种复制/粘贴过程编写到 Stata 命令窗口。
  • @Andrew 再次感谢。这看起来很不错。将尝试进一步调查。

标签: linux ubuntu stata sublimetext3


【解决方案1】:

是的,你可以。 首先,您需要找到执行此操作的 python 函数的名称。对于SublimeStata Enhanced package,它对应于文件text_2_stata.py中的函数text_2_stataCommand。

其次,您需要在Key Binding用户文件中添加此功能的快捷方式,将功能名称放在命令字段中(后缀Command必须删除,分隔符用下划线而不是大写字母表示)。

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

【讨论】:

  • 如果这是您的第一个/唯一用户键绑定:转到首选项 > 键绑定 - 用户。将上面的代码放在为您提供的两个方括号之间,然后保存文件。
  • 另外,如果您使用的是 Stata 13+,请使用 text_2_stata13 而不是 text_2_stata。
  • 我在寻找同一问题的 Mac 解决方案时遇到了这篇文章,并且工作正常。请问,是否有可能将整个文件发送给Stata,而不仅仅是选择?
猜你喜欢
  • 1970-01-01
  • 2014-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-06
  • 1970-01-01
  • 2015-03-21
相关资源
最近更新 更多