是否有突出显示 Stata 语法的命令行编辑器? [关闭]

Posted

技术标签:

【中文标题】是否有突出显示 Stata 语法的命令行编辑器? [关闭]【英文标题】:Is there a command line editor that highlights the Stata syntax? [closed] 【发布时间】:2013-08-21 15:32:17 【问题描述】:

我的互联网连接非常慢,因此我在没有 GUI 的情况下在服务器上执行批处理文件,即直接从终端执行。但是,通常我需要对代码进行一些更改,并且突出显示 Stata 语法的文本编辑器不会受到伤害。有吗?

【问题讨论】:

【参考方案1】:

Sublime Text editor 有一个package for Stata。如果您使用的是 mac,您可以找到安装说明here。

【讨论】:

有没有办法在 Linux 下也可以将 ST 与 Stata 结合起来? @radek 有一个适用于 Ubuntu 的版本:github.com/rhoconlinux/Stata-12-in-Sublime-3-under-Ubuntu 太棒了。是时候摆脱默认的 Stata 编辑器了 =) StataCorp 确实在几乎每个版本中都对编辑器进行了改进。但是每当讨论这个问题时(例如在用户会议上),它归结为 (1) 有经验的用户,他们经常也编程,他们已经拥有来自 Stata 外部的最喜欢的文本编辑器 (2) Stata 的编辑器适合的新用户 (3 ) 其他人,他们往往不会发声。 我已经教过相当多的初学者在 Stata 中编写 do-files,并且从 Stata 11 开始对界面非常满意(如果有记忆的话,它在 Mac 上引入了语法着色)。这是一个很好的,新用户的评估是正确的。唯一令人烦恼的是,Windows 上的 Ctrl-D(执行选择)在 Mac 上是 Cmmd-Shift-D,而 Windows 上的 Ctrl-Shift-D 则有所不同。这是使用 Mac 和 Windows 机器的课程中常见的问题来源。【参考方案2】:

由 Maarten Buis 链接,Nick Cox's list 是参考。这是一个很酷的列表,但它已经过时了,因此错过了 Mac OS X 上 Stata 支持的最佳部分。这里有一些补充内容也暗示了其他答案。

Mac

TextMate 有两个 Stata 包,Beatty 包和更新的 Schumm 包,它使用更智能的 Stata 语法方法。 (注意:不确定 Beatty 捆绑包是否可以在 Stata 13 下工作;Schumm 捆绑包,您可以通过 TextMate 的捆绑包设置获得。)

另外两个编辑器,ChocolatSublime Text,支持 TextMate 包或 ports of TextMate bundles。 Phil Schumm 的 TextMate 的 Stata 包是我所知道的最先进和最新的解决方案,所以如果您需要外部编辑器,我建议您这样做。

TextWrangler also supports Stata 通过它自己的插件系统。我猜想 BBEdit 也可能因此也支持它,可能是通过稍微笨拙的 AppleScript 调用。我看到使用这些而不是 TextMate 的唯一原因是,如果您正在运行旧系统和/或已经在使用这些编辑器。

如果您需要更多替代品,请查看 Alternative To、I Use This、MacUpdate 或 VersionTracker 等网站,以获得更多选择。例如,您会发现 SubEthaEditSmultron(可能还有它的已故分支,Fraise)支持 Stata。

tl;dr 在 Mac OS X 上,将 TextMate 与 Schumm 捆绑包一起使用,您会喜欢的。(不过不知道是否可以通过电子邮件创建 GitHub 问题!)

Notepad++ has support,PFEUltraEditWinEdt的Statalist也有提及支持。我的猜测是你会发现获取 Sublime Text 并使用它的 Stata bundle 端口会更有用,除非你已经在使用这些编辑器。

tl;dr 在 Mac OS X 和 Windows 上,带有 Stata TextMate 捆绑端口的 Sublime Text 似乎运行良好。


正如另一个答案中提到的,Vim 也提供支持,并且 Emacs 具有 ado 主要模式,以及通过 ESS 的一些附加功能(Emacs Speaks Statistics )。最后,如果您正在寻找 Java 跨平台解决方案(但您为什么会这样呢?),jEdit 支持 Stata 语法。

如果你想在任何地方都支持 Stata 彩色语法(例如在 GitHub 上),你需要为 Stata 编写一个词法分析器并将其提交给 Pygments。 I've asked a question about that.如果你知道足够多的 Python 看起来并不难(我不知道并且很遗憾)。

HTH

添加:链接、部分。

【讨论】:

“严重过时”是完全公平的评论。人生苦短,要做的事很多。该文件是我不再能够甚至倾向于更新的东西;事实上,记录所有可能的文本编辑器的任务现在看起来太像艰苦的工作了。 告诫讲师.【参考方案3】:

不出所料,Vim 开箱即用地支持 Stata 的语法高亮显示。请参阅http://www.vim.org/scripts/script.php?script_id=440 和这篇博文: http://www.enoriver.net/stata/2010/02/26/i-switched-to-vim/

【讨论】:

FWIW,多年来,Vim 一直是我的主要文本编辑器。重要的是要知道它的语法高亮并不意味着像这样高亮所有 Stata 命令名称。这将需要维护所有用户编写的命令的列表,或者至少是单个用户可能包含在其代码中的那些命令,这是一项艰巨的(西西弗斯?)努力。即使有这种自我否定的条例,语法突出显示也非常有用。 更改了博文链接;原件坏了。【参考方案4】:

与其他人类似,我的建议是Sublime Text 和TextMate。它们分别是我在 Windows 和 Mac 上最喜欢的编辑器。如果你是 Mac 用户,我推荐 TextMate(它是免费的,但 Sublime Text 不是)。

您要求使用文本编辑器,但如果您还使用任何 html 编辑器,则可以使用 Statax 有用。 (Here is the link to Statax,如果你感兴趣的话)。

【讨论】:

【参考方案5】:

这个问题是几年前提出的,但我想添加另一个可能已经为更有经验的 Stata 用户所知的选项。但是,对于最终来到这里的新程序员来说,情况可能并非如此,他们可能通过搜索引擎寻找有关该主题的更多信息。

Visual Studio Code 是一个精简的代码编辑器,它提供了一个非常灵活的编程环境。安装后,可以从Visual Studio Marketplace 获得必要的add-on package 用于Stata 语法高亮。它会定期更新,用户可以使用扩展扩展其功能。因此,如果有人使用一种以上的语言进行编程,他/她可以将所有内容集中在一个屋檐下。

此解决方案解决了 OP 通过其built-in Git support 远程编辑文件的需求。 Git 现在几乎是 version control 的标准。其背后的想法是在本地完成工作,然后将存储库的副本与服务器上的副本同步。

虽然这不是一个命令行解决方案,但我认为它提供了一个很棒的跨平台开发环境。事实证明,Git 本身非常快速且可靠。

【讨论】:

以上是关于是否有突出显示 Stata 语法的命令行编辑器? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

ccat – 使用语法突出显示输出内容

Sublime 3 编辑器语法突出显示 PHP + HTML 不起作用

调整语法检查器 shellcheck 的突出显示颜色(带有合成和病原体)

突出显示 Jupyter 单元中的部分代码

Atom 没有突出 Haskell 语法?

普林斯顿Stata教程之Stata做图