我想在cmd中运行lua文件(因为我无法使用构建系统)。
我该怎么做?如何在Sublime Text 3中在cmd中运行lua文件?
回答
由于您只是想调用cmd命令,您可以轻松编写自己的插件。
只需打开您的用户目录并创建一个python文件(例如run_lua.py
)。
或者直接使用Tools >> New Plugin。
这个插件运行命令lua $file
,之后将暂停,直到用户按下一个键:
import subprocess
import sublime_plugin
class RunLuaCommand(sublime_plugin.WindowCommand):
def run(self):
view = self.window.active_view()
subprocess.Popen(["cmd", "/c", "lua", view.file_name(), "&", "pause"])
添加键绑定:
{
"keys": ["alt+b"],
"command": "run_lua",
},
对于一个更通用的方法:
import subprocess
import shlex
import sublime
import sublime_plugin
class RunCmdCommand(sublime_plugin.WindowCommand):
def run(self, command):
variables = self.window.extract_variables()
command_expanded = sublime.expand_variables(command, variables)
# run in cmd
command_arr = ["cmd", "/c"]
# run the command
command_arr.extend(shlex.split(command_expanded, posix=False))
# afterwards wait for a key
command_arr.extend(["&", "pause"])
# execute the command
subprocess.Popen(command_arr)
用键绑定:
{
"keys": ["alt+b"],
"command": "run_cmd",
"args": {
"command": "lua $file"
}
},
PS。您还可以使用cmd /k
而不是cmd /c
,并在最后省略& pause
以创建一个cmd,该cmd在执行该命令后将保持打开状态。暂停后会等待按键并关闭。 感谢@EgorSkriptunoff提示。
根据该插件的功能,我不认为你能做到这一点:
打开包含当前编辑的文件
文件夹中的终端打开项目文件夹包含终端当前编辑的 文件
该插件只会将终端打开到您的项目/文件目录。
我认为该文档重点介绍的参数是关于配置您的终端并且不运行任何类型的命令。
无论如何,插件让你的生活更轻松。您可以在工作目录中打开命令提示符/终端,然后运行您所需的命令。之后,您可以使用命令提示符的历史记录(向上箭头或箭头向下)导航到您以前的命令。
你可能会考虑sublimeREPL插件。它作为新的“代码标签”打开命令提示符。我需要将我的lua安装添加到我的路径中。它打开一个交互式shell并支持各种shell,包括Lua。
我想我会评论与删除我的答案:对于一些Lua版本,这很好地工作。但是,对于某些Lua版本来说,有一个错误会压制stdout。对于许多人来说,这将是一个明显的原因,而不是使用sublimeREPL插件。 –
- 1. Sublime Text 3:运行R文件
- 2. 如何在Sublime Text中运行python 3.5
- 3. 如何在Sublime Text中运行ActionScript?
- 4. 如何在Sublime Text 3 Editor中并行打开两个文件?
- 5. 在Sublime Text 3中构建文件后重命名文件3
- 6. 在Sublime Text 3中运行Golang项目3
- 7. 如何使Sublime text 3中的代码在一行中?
- 8. 如何在cmd中运行python文件?
- 9. 运行C++文件,输入Sublime Text 2
- 10. 如何在Sublime Text 3中切换XML行注释
- 11. 如何在Sublime Text cmd中抑制输出?
- 12. Sublime Text中的Matplotlib 3
- 13. 如何获取Sublime Text 3中的文件内容Python API
- 14. 在Sublime Text 3/Mac上正确排序文件和文件夹
- 15. 在Sublime Text上运行英特尔Fortran 3
- 16. Sublime Text 3-Material Theme
- 17. $ TM_CURRENT_WORD如何在Sublime Text中操作?
- 18. 如何在Sublime Text 3中编译C程序?
- 19. 如何在Sublime Text 3中启用自动对齐功能?
- 20. 如何在Sublime Text 3中将代码发送给SublimeREPL?
- 21. 如何在Sublime Text 3中调整调色板的大小?
- 22. 如何在Sublime Text 3中调试顶点类
- 23. 如何在Sublime Text 3中退出当前HTML标签
- 24. 在Sublime Text 3中,如何更改注释字符?
- 25. Sublime Text 3:如何在崇高设置中配置rubocop.yml路径?
- 26. Sublime Text 3插件更改运行到on_pre_save
- 27. 如何运行.lua文件?
- 28. 在Sublime Text中的多个文件中添加括号中的空格3
- 29. 使一个文件在cmd中运行
- 30. 在Sublime Text中自动选择粘贴的文本3
可以用'cmd/k ...'而不是'cmd/c ...&pause' –
@EgorSkriptunoff用'cmd/k'执行后会有一个打开的cmd。使用'&pause'时,它会以按键关闭,这在我看来是一种更好的行为。 –
使用'cmd/k'可以在脚本终止后输入任意控制台命令,这非常有用。按Alt +空格键C关闭控制台窗口(3键而不是1)。 –