安装插件

在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题。 
用Sublime Text3打开python文件,或者在Sublime Text3下写好python代码,使用快捷键ctrl+b就可以运行了,会在当前窗口的下方出现运行的结果。比如

print("hello world!")

但是,要是使用了input这类需要交互的函数,ctrl+b运行就会出现错误

print("hello world!")
x = input("please input a string :")
print(x)

运行结果

这个问题可以通过安装一个插件sublimeREPL解决 
在已经安装了包管理器的前提下(如果没有安装可以看这里的”安装包管理器”部分),按ctrl+shift+p快捷键呼出一个输入框,输入Install Package,回车,在新出现的输入框里输入SublimeREPL,在下面的选择列表中选中回车就会开始安装,一般几秒钟就能装完。 
在刚刚的python文件的界面里点击上方菜单栏的tools->sublimeREPL->python->python run current file,这时候就像IDLE一样,会弹出一个新的窗口,而且是可交互的,可以输入

设置快捷键

但是每次都要去选择tools->sublimeREPL->python->python run current file这么一长串肯定是很让人头疼的,就想着能不能设置快捷键来运行。因为以前使用IDLE写python,所以就打算配成F5运行。

我们知道,Sublime Text是通过json文件进行设置的。我们打开preferences->Key Binding-Default就能看到原来的快捷键的设置,是json格式的。

打开preferences->Key Binding-User,按照上面的格式重写需要设置的快捷键的的相关属性,就能覆盖默认设置。 
但是设置的格式不容易看懂,可以参考非官方文档

发现可以把”command”设为”run_macro_file” ,”args”设为录制的宏的文件名,就可以快捷地调用这个宏。但是这个尝试失败了,可能是因为

Note that the macro buffer will remember only the latest recorded macro. Also, macros only record commands sent to the buffer: window-level commands, such creating a new file, will be ignored.

宏不能创建新窗口之类的。

后来折腾了好久,在网上找到相关的内容,研究出了解决方案

  1. 打开C:\Users\xxx(your name)\AppData\Roaming\Sublime Text 3\Packages\SublimeREPL\config\Python,根据自己的情况调整具体路径。AppData可能是隐藏文件夹,要先设置隐藏文件夹可见才找得到。打开Main.sublime-menu,看到里面也是json格式的。观察一下就发现这对应的刚好就是tools->sublimeREPL->python->下的几个选项。caption对应的就是显示的名字。

  2. 打开刚刚提到的preferences->Key Binding-User,写入以下内容

    [
    { "keys": ["f5"], "caption": "SublimeREPL:Python",
    "command": "run_existing_window_command", "args":
    {
    "id": "repl_python_run",
    "file": "config/Python/Main.sublime-menu"
    }
    },
    ]

    可以看出就是调用了id是repl_python_run的现有的窗口命令。repl_python_run是和前面Main.sublime-menu里的内容相对应,就是tools->sublimeREPL->python->python run current file的id

    这样,就完成了Sublime Text3类似IDLE按F5键在可交互环境下运行python文件的配置

最新文章

  1. H3 BPM让天下没有难用的流程之功能介绍
  2. [Cordova] Plugin里使用iOS Framework
  3. 【代码笔记】iOS-清除缓存有黑色背景(仿环球时报)
  4. 二叉搜索树的实现及指针问题的一点思考(C++)
  5. php读取大文件的方法
  6. PRINCE2七大原则(2)
  7. js简介、基本语法、类型转换、变量、运算符、分支语句、循环语句、函数、函数调用
  8. 【USACO】Transformations
  9. Enterprise Library深入解析与灵活应用(2): 通过SqlDependency实现Cache和Database的同步
  10. [ASP.NET]SQL Server 连接字符串和身份验证
  11. Oracle 跨库 查询 复制表数据 分布式查询
  12. 老李推荐:第14章8节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-获取控件列表并建立控件树 5
  13. Linux OS7 常用
  14. DataGridView修改数据并传到数据库
  15. 洛谷P2342-叠积木
  16. Android集成讯飞语音、百度语音、阿里语音识别
  17. IDependency自动注册autofac
  18. Redis 学习笔记1
  19. Android Volley源码分析及扩展
  20. 用random模块实现验证码

热门文章

  1. 使用Monit监控本地进程
  2. Apache Ignite之集群应用测试
  3. setTimeout 的黑魔法
  4. ASP.NET是如何在IIS下工作的
  5. mysql学习之 sql语句的技巧及优化
  6. Xamarin+Prism开发详解三:Visual studio 2017 RC初体验
  7. java中易错点(一)
  8. 【干货分享】流程DEMO-补打卡
  9. SQL-日期函数
  10. (转载) Linux IO模式及 select、poll、epoll详解