(尝试传教
上两张配置完成的图


0x00 基础配置
前往 https://www.sublimetext.com/ 下载 Sublime Text 3
安装完成后打开 Sublime ,选择顶栏中的 View -> Side Bar -> Show Side Bar 或快捷键 Ctrl+K+B(要按顺序按下) 来显示侧边栏。
把一个文件夹拖到侧栏中以显示目录树(像上面图中一样)
0x01 配置编译环境
以管理员身份运行 cmd(Win+X然后A)
输入如下命令:
setx "Path" "C:\Program Files (x86)\Dev-Cpp\MinGW64\bin;%Path%" /m
将其中C:\Program Files (x86)\Dev-Cpp\MinGW64\bin改为你的编译器所在目录的路径
注意:千万不要在 powershell 中运行如上命令。请使用 cmd
(当然你也可以在计算机->高级系统设置->环境变量->系统变量->Path 中设置)
打开Sublime,找到 Tools -> Build System -> New Build System
粘贴如下代码,并保存在Sublime配置默认目录(可以在 Preferences -> Browse Packages 里找到)的 User 目录下,保存文件名为 cpp (或者任何你喜欢的名字)。
{
"encoding": "utf-8",
"working_dir": "$file_path",
"shell_cmd": "g++ -Wall -std=c++11 \"$file_name\" -o \"$file_base_name\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.c++",
"variants":
[
{
"name": "Run",
"shell_cmd": "g++ -Wall -std=c++11 \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\""
}
]
}
重启Sublime,在 Build System 里找到你刚刚保存的东西,单击以启用。
然后你就可以按 Ctrl+B 编译你的 C++ 程序了
0x02 快捷键
Ctrl+F:搜索
Ctrl+H:替换
Ctrl+P:在打开的文件夹中搜索文件
Ctrl+B :编译
0x03 插件
安装 Package Control
按 Ctrl+` 以打开 Console,在其中输入如下代码:
import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
以安装 Package Control。(可能会卡一会
安装完成后,按 Ctrl+Shift+P 进入命令面板,输入 Package Control: Install Package 来进入安装插件的页面。(可能会卡很久
中文界面
在安装插件页面中输入 Chinese ,在搜索到的结果中随便找一个安装(单击对应插件即可)以获得中文界面。
ConvertToUTF8
在安装插件页面中输入 ConvertToUTF8 安装。这个插件是用来转换文件编码的。
透明背景
在安装插件页面中输入 Transparency 安装。
之后可以使用 Shift+1~6 来改变背景透明度
很遗憾 Sublime 没有自定义背景插件(((
主题
推荐 ayu / Material Theme。同样在安装插件界面安装即可。
代码格式化
安装 Clang Format 插件。
安装 LLVM:
在 LLVM Download Page 最新版本的 Pre-Built Binaries 中找到适合你电脑的版本并下载 & 安装。
安装过程中记得勾选“添加至系统路径”这样之后就无需设置了
之后进入 Sublime,按 Ctrl+Alt+A (和QQ的截屏快捷键重合,建议关掉或者改一下截屏快捷键)格式化选中的代码。
按 Ctrl+Shift+P 并输入 Clang Format: Select Style 来选择一个 Style
推荐 Webkit
当然我们发现它仍然有很多不尽人意的地方,于是我们在刚才的 Select Style 页面中选择 Custom。然后进入 Perferences -> Package Settings -> Clang Format -> Custom Style - User 来自定义配置。
列一下我的配置以供参考(大括号不换行,使用 Tab,运算符之间空格,不允许多条代码在同一行)
"BasedOnStyle": "WebKit",
"BraceWrapping":{
"AfterControlStatement": false,
"AfterFunction": false,
"AfterNamespace": false,
"AfterStruct": false,
"BeforeElse": false
},
"BreakBeforeBraces": "Attach",
"MaxEmptyLinesToKeep": 1,
"TabWidth": 4,
"UseTab": "Always"
0x04 Snippets
创建snippets
新建和保存
菜单栏中依次选择 Tools | Developer | New Snippet... 就会新建一个扩展名为.sublime-snippet 的 XML 语法的文档,注意后缀是识别 snippets 的关键。
代码片段可以任意存储在 packages 文件夹下,默认会保存在 Packages\User 文件夹里,为了方便管理和使用建议再新建个文件夹例如 snippets,则路径为 Packages\User\snippets。
默认结构如下:
<snippet>
<content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<!-- <tabTrigger>hello</tabTrigger> -->
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<!-- <scope>source.python</scope> -->
</snippet>
content
<content></content>中必须包含<![CDATA[…]]>,在这里面写自定义的代码片段。
代码片段如果含有]]>,需写成]]$NOT_DEFINED>。
如果含有 $,需写成 \$。
tabTrigger
在 <tabTrigger></tabTrigger> 中设置让Sublime自动补全的触发词(trigger keyword)。
scope
设置代码片段在何种语言环境下激活,默认写的是python。
想指定多个scope,可以使用英文逗号,来分隔。
如何知道文档的Scope是什么?菜单栏依次选择 Tools | Developer | Show Scope Name...,快捷键是 Ctrl+Alt+Shift+P。
description
如果加了<description>描述内容</description>,点开 Tools | Snippets... 会显示你定义的描述内容。
如果不写则显示文件名。
设置光标位置Fields
<snippet>
<content><![CDATA[
First Name: $1
Second Name: $2
Address: $3
]]></content>
美元符加数字即可设置 field markers 即光标的位置,按Tab键光标按数字依次从小到大循环,如上从 1 到 2 到 3 再到 1。
Shift+Tab 可以进行向上跳转。
Esc 结束跳转。
$0 表示最后一个位置。
镜像域 Mirrored Fields
相同编号的位置即是镜像域,可同时选中进行编辑。
占位符 Placeholders
{数字编号} 可以得到一个 Tab 占位符。
{1:default} 可以得到一个默认值。
按Tab键依次循环选中代码片段中的默认值。
如默认的代码片段 Hello, ${1:this} is a ${2:snippet}. 会依次循环选中单词 this snippet。
使用snippets
方法1:菜单栏点击 Tools | Snippets... ,弹出为当前语法可用的Snippet,点击即插入。
方法2:输入触发词然后按 Tab 键。