如何从升华文本3运行cmd中的lua文件?

如何从升华文本3运行cmd中的lua文件?,lua,terminal,sublimetext3,sublimetext,Lua,Terminal,Sublimetext3,Sublimetext,我想在cmd中运行lua文件(因为我不能使用构建系统)。 我怎样才能做到这一点?根据插件的功能,我认为您无法做到这一点: 在包含当前编辑文件的文件夹中打开终端 在项目文件夹中打开包含当前编辑的端子 文件 该插件将只打开终端到您的项目/文件目录 我认为文档强调的参数是关于配置终端,而不是运行任何类型的命令 这个插件让你的生活更轻松。您可以在工作目录中打开命令提示符/终端,然后运行所需的命令。之后,您可以使用命令提示符的历史记录(向上或向下箭头)导航到以前的命令。由于您只想调用cmd命令,因此可以轻

我想在cmd中运行lua文件(因为我不能使用构建系统)。

我怎样才能做到这一点?

根据插件的功能,我认为您无法做到这一点:

在包含当前编辑文件的文件夹中打开终端
在项目文件夹中打开包含当前编辑的端子 文件

该插件将只打开终端到您的项目/文件目录

我认为文档强调的参数是关于配置终端,而不是运行任何类型的命令


这个插件让你的生活更轻松。您可以在工作目录中打开命令提示符/终端,然后运行所需的命令。之后,您可以使用命令提示符的历史记录(向上或向下箭头)导航到以前的命令。

由于您只想调用cmd命令,因此可以轻松编写自己的插件。
只需打开您的用户目录并创建一个python文件(例如
run\u lua.py
)。
或者只需使用工具>>新插件即可
此插件运行命令
lua$file
,然后暂停,直到用户按键:

导入子流程
导入升华插件
类RunLuaCommand(升华插件.WindowCommand):
def运行(自):
视图=self.window.active\u视图()
subprocess.Popen([“cmd”、“/c”、“lua”、view.file_name()、“&”、“pause”])
添加密钥绑定:

{
“键”:[“alt+b”],
“命令”:“运行”,
},
对于更一般的方法:

导入子流程
导入shlex
进口升华
导入升华插件
类RunCmdCommand(升华插件.WindowCommand):
def运行(自我,命令):
variables=self.window.extract_variables()
命令扩展=升华。扩展变量(命令,变量)
#在cmd中运行
命令\u arr=[“cmd”,“/c”]
#运行命令
命令数组扩展(shlex.split(命令数组扩展,posix=False))
#然后等待钥匙
命令到达扩展([“&”,“暂停])
#执行命令
子进程Popen(命令\u arr)
使用密钥绑定:

{
“键”:[“alt+b”],
“命令”:“运行命令”,
“args”:{
“命令”:“lua$文件”
}
},
另外,您还可以使用
cmd/k
而不是
cmd/c
,并省略结尾处的
&pause
来创建一个cmd,该cmd在执行命令后将保持打开状态。暂停时,它将等待按键并关闭。
感谢@ EGOSKRIPTUNOFF的提示。

< P>您可以考虑升华器插件。它将打开一个命令提示符作为新的“代码选项卡”。我需要将lua安装添加到路径中。它打开了一个交互式shell,支持包括Lua在内的各种shell。

是否有允许我这样做的插件?我在谷歌上搜索它,但只找到了终端。据我所知,没有这样的插件,我过去试图找到一个,但我找不到满足我需要的东西。但是我发现只要使用你说的插件,打开当前目录并运行我需要的命令就足够简单了。第一次可能是一个小过程,但第二次可以使用命令提示符的历史记录来调用命令。可以使用
cmd/k…
而不是
cmd/c…&使用
cmd/k暂停
@EgorSkriptunoff
执行后将有一个打开的cmd。使用
&pause
时,它将通过按键关闭,我认为这是一种更好的行为。使用
cmd/k
时,可以在脚本终止后输入任意控制台命令,这非常有用。按Alt+Space,C关闭控制台窗口(3键而不是1键)。@EgorSkriptunoff谢谢我个人更喜欢解决方案中的方式。但是我同意,值得一提的是,也可以使用
cmd/k
。因此我相应地编辑了我的答案。我想我应该评论一下而不是删除我的答案:对于一些Lua版本,这很好。但是,对于某些Lua版本,有一个bug会抑制stdout。对于许多人来说,这是一个不使用sublimeREPL插件的明显原因。