安装插件

在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. 大型网站提速关键技术(页面静态化,memcached,MySql优化)(一)
  2. 1 张图秒懂 Nova 16 种操作 - 每天5分钟玩转 OpenStack(44)
  3. 在Eclipse中,如何把一个java项目变成web项目
  4. create tablespace 与 heap_insert 函数
  5. CSS样式表介绍
  6. 【转】unity3d 如何得到当前物体播放的动画
  7. javascript 事件设计模式
  8. iotop 分析系统那些进程占用io资源
  9. net Mvc模块化开发
  10. matlab 图片批量读取
  11. linux服务器的操作禁忌
  12. hdu2389二分图之Hopcroft Karp算法
  13. 【Win 10 应用开发】MIDI 音乐合成——更改乐器音色
  14. CLOUD清理临时表空间
  15. OSPF补全计划-1
  16. Rk3288 双屏异显单触摸
  17. poj3278Catch That Cow
  18. tomcat配置问题
  19. AngularJS中的transclusion案例
  20. 推荐 Net C# 逆向反编译四大工具利器

热门文章

  1. 【原】FMDB源码阅读(三)
  2. Hyper-V 激活Windows系统重启后黑屏的解决方法 + 激活方法
  3. 08.LoT.UI 前后台通用框架分解系列之——多样的Tag选择器
  4. mybatis_个人总结
  5. [原] KVM 虚拟化原理探究(2)— QEMU启动过程
  6. [原]Paste.deploy 与 WSGI, keystone 小记
  7. Js 数组返回去重后的数据
  8. iOS微信第三方登录实现
  9. 1.Hibernate简介
  10. 跟着老男孩教育学Python开发【第五篇】:模块