安装插件

在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. PHP中模拟JSONArray
  2. python中定义函数和参数的传递问题
  3. Ext.Net TreePanel 修改Icon图标
  4. 【Linux】vi(vim)起步学起来有些困难,一步一步温习
  5. 149. Max Points on a Line *HARD* 求点集中在一条直线上的最多点数
  6. Ejabberd源码解析前奏--安全
  7. *[codility]StoneWall
  8. POJ --- 3613 (K步最短路+矩阵快速幂+floyd)
  9. Bigcommerce: 给已完成购买的客户发送一封产品评论邮件,让客户直接进行产品评论
  10. Android 之流媒体播放器,广播侧下方这么简单。
  11. Mysql删除表格之后,进行恢复
  12. Powerdesigner 连接mysql 在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配 SQLSTATE = IM014
  13. MyBatis学习总结(一)简单入门案例
  14. Express安装
  15. BeautifulSoup解析模块
  16. go 0000
  17. 斯坦福大学公开课机器学习: machine learning system design | error analysis(误差分析:检验算法是否有高偏差和高方差)
  18. 洛谷.2754.星际转移问题(最大流Dinic 分层)
  19. conda-使用手册
  20. centos7 关闭 防火墙

热门文章

  1. 一起来玩echarts系列(一)------箱线图的分析与绘制
  2. 旺财速啃H5框架之Bootstrap(四)
  3. .NET Core系列 : 2 、project.json 这葫芦里卖的什么药
  4. 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)
  5. TypeScript为Zepto编写LazyLoad插件
  6. 微框架spark--api开发利器
  7. PHP类和对象之重载
  8. Git的四个基本概念及 git的工作流程
  9. 初识git版本控制系统
  10. TFS2013 设置签出独占锁