关于Sublime Text的几个备忘录

sublime text中用python3运行文件

在sublime text中可以使用快捷键cmd + b(windows是CTRL + b)快速运行一个python文件,sublime会直接调用系统默认python运行文件,并在下面的框里弹出结果。
如果你系统中有多个版本的python,想用其他版本的python话
选择New Build System,添加以下内容

{
 "cmd": ["/usr/local/bin/python3", "-u", "$file"],
 "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
 "selector": "source.python" }

这就生成了新的build,可以选择ctrl+b运行

sublime text中打开cmd

有两种方法,第一种下载Terminal插件,快捷键为ctrl+shift+t就打开了cmd且已进入当前目录,然后再

python yourfile.py

第二种不需要下载插件,在SublimeTex的插件目录中,点击preference-Browse Package即可打开,新建目录 CMD,在CMD中,新建文件 cmd.py,输入如下内容,

import os, sublime_plugin
 2 class CmdCommand(sublime_plugin.TextCommand):
 3     def run(self, edit):
 4         file_name=self.view.file_name()
 5         path=file_name.split("\\")
 6         current_driver=path[0]
 7         path.pop()
 8         current_directory="\\".join(path)
 9         command= "cd "+current_directory+" & "+current_driver+" & start cmd python"
10         os.system(command)

然后在CMD目录中,创建文件Context.sublime-menu,输入如下内容,

[
     { "command": "cmd" }
]

这样在SublimeText中可以通过右键打开cmd,并且是在当前文件的目录下。

在sublime里按ctrl+b运行python,不能输入参数,input和raw_input都用不了,要么按上面两种打开cmd运行,要么使用REPL插件,配置的文章网上一抓一大把,REPL的极大好处是结果是文本格式,可以任意复制,相比而言比cmd友好,但是repl有个问题就是比较慢。

sublime text中打开cmd运行python

由于sublime自带的build要过比较烂不能进行输入,而且背景是白色的,于是写Python都是在sublime里写好,额外打开一个窗口进入当前目录然后运行文件,后来有了Teminal插件省了进入当前目录那一步,不用手打cd命令了,再后来用了repl可以直接在sublime 里显示结果,但是repl又比较慢,然后各种Python的IDE可以像vs一样在编辑完后一键运行,但我的两台电脑都比较卡,IDE用着费劲,于是就想找在sublime里一键运行的方法,找到sublime默认的Python build,复制一份到user里
添加下面这段

        "name": "RunInCommand",
        "shell_cmd": "start python \"${file_base_name}.py\" \" & pause\""

然后添加个快捷键,同时Python程序最后要加个raw_input或者while loop,不然会一闪而过,加了之后就可以按快捷键执行python,但是那个cmd不能用键盘关闭,只能鼠标点,而且关闭后输出一大堆错误信息。
目前来看,用sublime写代码是很舒服,就行执行要费点劲,各种方法都不太完美。

在sublime写简单的c++程序

在sublime写简单的c++程序的话,将遇到与python同样的问题,不输入都好说,一有cin就完,解决办法是找到st3自带的c++singlebuild,复制一份放到browser package-user目录下,在variants里加上

,
{
    "name": "RunInShell",
    "shell_cmd": "start cmd /c \"\"${file_path}/${file_base_name}\"&pause""
}

保存后build里就有了两个c++编译器了,如果你选择automatic的话,第一次按CTRL+ B会提示选哪个,就选第一个自带的就行,这样就是编译,然后为RunInShell加个快捷键f5之类的,

[
{"keys": ["f5"], "command": "build", "args": {"variant": "RunInShell"}}
] 

以后写完c++后,ctrl+s保存,ctrl+b编译,f5运行

ctrl+shift+b会把所有的可用的解释器列出来,选择之后ctrl+b会一直按这个解释器执行,直到你再按ctrl+shift+b改选

sublime Text3设置右键打开文件

在注册表编辑器中找的这个节点:在 HKEY_CLASSSES_ROOT→ * → Shell
在Shell下,新建项命名为 Sublime Text 3(见名知意),在右边窗口新建字符串值(右键–新建–字符串值)。名称:Icon;值:D:\Program\Sublime Text 3\sublime_text.exe,0 【注:使用您自己的安装文件目录】
在新建的项下面新建项Command(必须这个名称).修改右侧窗口的默认值,修改为:D:\Program\Sublime Text 3\sublime_text.exe %1【注:使用您自己的安装文件目录】

sublime Text切换标签

st默认用Ctrl+tab切换上一个标签,Ctrl+shift+tab切换下一个,这里的上一个下一个指的是你使用过的顺序,并不是物理上标签的顺序。当然是按使用顺序切换好还是物理标签切换好这个仁者见仁智者见智,如果你喜欢第一种那么你就不用改了,但是我还是喜欢按位置切换,因为我记不住上次在那个文件写过东西,我就想按标签现在排列的顺序左左右右的换。那么就更改下面两个按键。

    { "keys": ["ctrl+tab"], "command": "next_view" },
    { "keys": ["ctrl+shift+tab"], "command": "prev_view" },

sublime Text改键

[
    { "keys": ["ctrl+shift+f"], "command": "reindent", "args": {"single_line": false}},
    { "keys": ["alt+j"], "command": "move", "args": {"by": "characters", "forward": false} },
    { "keys": ["alt+l"], "command": "move", "args": {"by": "characters", "forward": true} },
    { "keys": ["alt+i"], "command": "move", "args": {"by": "lines", "forward": false} },
    { "keys": ["alt+k"], "command": "move", "args": {"by": "lines", "forward": true} },
    { "keys": ["alt+d"], "command": "move", "args": {"by": "words", "forward": false} },
    { "keys": ["alt+f"], "command": "move", "args": {"by": "word_ends", "forward": true} },
    { "keys": ["alt+h"], "command": "move_to", "args": {"to": "bol", "extend": false} },
    { "keys": ["f5"], "command": "build", "args": {"variant":  "RunInShell"}},  //C++在cmd直接运行
    { "keys": ["f12"], "command": "build", "args": {"variant":  "RunInCommand"}},  //python在cmd直接运行
    { "keys": ["f11"], "caption": "SublimeREPL:Python - RUN current file", "command":"run_existing_window_command", "args":
    {
        "id":  "repl_python_run", "file":"config/Python/Main.sublime-menu"}
    }  //python在repl直接运行
]

你可能感兴趣的:(sublime,sublime)