StataLinux
为 Linux 添加对 Stata(所有版本)支持的 Sublime Text 3 插件。
详细信息
安装次数
- 总数 334
- Win 0
- Mac 0
- Linux 334
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
说明文件
StataLinux
Sublime Text 3 插件,添加基本 Stata(所有版本)在 Linux 中的支持。
do
和ado
文件的代码语言定义- 将所选行或整个文件发送到 Stata 的命令。有关更多详细信息,请参阅 使用方法。
背景
我需要一个最小但健壮的插件,将代码从 Sublime Text 发送到 Stata。由于 Package Control 中的插件没有专为 Linux 定制,且似乎没有一个维护者想要添加对其的支持,所以我编写了自己的插件。该插件最初基于 StataEnhanced 以及 这些笔记。
此插件以稳健性而非花哨的功能为目标,几乎所有决策都是基于这一理念。它基本上创建一个临时文件,该文件包含当前所选的行或要执行的整个 do 文件。在后台,xdotool
用于从 Stata 的命令面板调用临时文件。
依赖
xdotool
此软件包可能已经在您的系统中。您可以通过在每个名称后键入 --version
选项来检查它们的存在。例如,
xdotool --version
如果输出类似于 xdotool 版本 3.20160805.1
,则表示已安装。如果您收到错误,则表示此软件包未安装。使用您的系统软件包管理器安装它们。例如,
Arch(-based)
sudo pacman -S xdotool
Ubuntu(-based)
sudo apt install xdotool
etc.
安装
有两种方法可以安装此插件
- 在 Package Control 中搜索“StataLinux”,或
- 将整个插件文件夹(此存储库)复制/克隆到
~/.config/sublime-text-3/Packages/
。
在使用它之前,请确保您已安装上述依赖项。
用法
请确保已经打开了一个Stata实例。在ST3中打开.do
(或.ado
)文件。您有两个执行代码的关键绑定:
ctrl+alt+d
执行当前行,或者在选定了行的itty情况下执行选定的行,crtl+alt+shift+d
执行整个文件。
您还可以使用命令面板调用这些操作:使用ctrl+shit+p
启动它,键入“StataLinux”并选择一个操作。此外,您可以在Tools > Packages > StataLinux
下的主菜单中访问这些操作。
可以通过在您的sublime-keymap
文件中包含以下内容来更改默认键绑定。此文件可以在Preferences > Package Settings > Stata Linux
下的Key Bindings
中查看和编辑。以下是一个使用ctrl
+enter
运行选定行的示例。
// StataLinux
{ "keys": ["ctrl+enter"], "command": "stata_linux", "context":
[{ "key": "selector", "operator": "equal", "operand": "source.stata", "match_all": true }]
执行整个文件的可执行stata_linux_all
命令也可以相应调整。
其他功能
注释
使用ST3的默认键绑定ctrl+\
切换整个行的注释。可以使用ctrl+shift+\
注释任意块。
本地变量
在代码的任何位置键入反引号`
,光标将立即在其后放置一个闭合引号。如果选中一个word
,则键入反引号将产生`word'
。
选项
以下选项可以在主菜单Preferences > Package Settings > StataLinux > Settings
下找到。
save_before_run_all
(默认 = true):在“发送所有”命令之前自动保存当前文件。always_extract_full_line
(默认 = true):始终提取整个行(true)或仅提取精确选择(false)。如果没有选择任何内容,则提取光标下的整个行。默认行为模仿Stata,以便用户熟悉,但在某些情况下,运行部分行可以节省时间。因此,将此设置为false
允许您快速运行带有或不带有if
条件或by
语句的命令。如果当前选择为空,此插件将运行整个行,而不是整个do
文件。虽然这与Stata的默认行为不同,但我们认为这不是一个好的设计选择,可以在那种情况下始终显式使用Run all
功能。remove_temp_file
(默认: false):运行后删除临时文件。
Stata版本、风味和实例
请确保您已打开了一个带GUI的 Stata实例(xstata
及其各种风味);此插件不适用于Stata的CLI。无需添加任何额外的配置来指示版本或风味,因为程序将自动检测任何运行的实例。如果您打开了多个Stata实例,插件将默认选择最新打开的一个(内部,它寻找xdotool search --name --limit 1 "Stata/(IC|SE|MP)? 1[0-9]\.[0-9]"
的结果)。
已知问题
目前存在一个与现在不再是问题,因为我正在使用与xdotool
的clearmodifiers
选项问题。这会导致,如果任何键盘修饰符(例如,大写锁定)未被手动关闭,插件将无法正确操作。xdotool
的--window
,这似乎比聚焦和重新聚焦窗口更干净,而且还有一个好处,即忽略任何活动修饰符。目前没有切换到Stata窗口焦点选项。这是因为存在使用
xdotool
与--window
选项(见问题#1)的合理理由,因此我计划实现这个选项。窗口焦点是窗口管理器的任务。