1. source insight 会对某个修改频繁的文件做多次备份。我们用sublime进行多个文件搜索时,需要把备份的文件排除在外。
e:workcodesourcev, *.h, *.cpp, -/*sourceev.si4project/*
这是一个例子。如果喜欢用别的编辑工具,比如notepad++,它可能生成备份文件 *.orig,也可以加上
-*.orig
如果不想sourceev.si4project显示在project explorer中,可以右键..., hide it。
可以我对目录排除用的是 -e:....source..., 不行,换成 -*sourceev.si4project*, 还是不行。看来必须用 "/",才行。正则表达式就没有支持""了。
以后有别的经验,逐个放上来。
2. linux下安装sublime后,如果是在服务器上安装的,记得周期性的把配置目录部分保存起来。保不齐哪天别人把系统重装了。
3. 装astyle插件,这样不用设法安装astyle这个工具了,否子要自己编译安装,稍微麻烦点。写代码时,可以过段时间,ctrl+shift+F,给代码格式化下。
4. 另存为.sublime-project后,可以 exclude一些文件或者文件夹。下面是一个例子。
{ "folders": [ { "path": "wwwroot", "folder_exclude_patterns": ["images"] }, { "path": "c:wwwrootproject1assets", "name": "Project 1", "file_exclude_patterns": ["*.php"] } ], "settings": { "tab_size": 8 } }
用的一款3143的注册码,2018-6可用:
TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA12C0 A37081C5 D0316412 4584D136 94D7F7D4 95BC8C1C 527DA828 560BB037 D1EDDD8C AE7B379F 50C9D69D B35179EF 2FE898C4 8E4277A8 555CE714 E1FB0E43 D5D52613 C3D12E98 BC49967F 7652EED2 9D2D2E61 67610860 6D338B72 5CF95C69 E36B85CC 84991F19 7575D828 470A92AB
Ryan Clark Single User License EA7E-812479 2158A7DE B690A7A3 8EC04710 006A5EEB 34E77CA3 9C82C81F 0DB6371B 79704E6F 93F36655 B031503A 03257CCC 01B20F60 D304FA8D B1B4F0AF 8A76C7BA 0FA94D55 56D46BCE 5237A341 CD837F30 4D60772D 349B1179 A996F826 90CDB73C 24D41245 FD032C30 AD5E7241 4EAA66ED 167D91FB 55896B16 EA125C81 F550AF6B A6820916
3211的
Member J2TeaM Single User License EA7E-1011316 D7DA350E 1B8B0760 972F8B60 F3E64036 B9B4E234 F356F38F 0AD1E3B7 0E9C5FAD FA0A2ABE 25F65BD8 D51458E5 3923CE80 87428428 79079A01 AA69F319 A1AF29A4 A684C2DC 0B1583D4 19CBD290 217618CD 5653E0A0 BACE3948 BB2EE45E 422D2C87 DD9AF44B 99C49590 D2DBDEE1 75860FD2 8C8BB2AD B2ECE5A4 EFC08AF2 25A9B864
/etc/hosts中这样设置
#for sublime 127.0.0.1 license.sublimehq.com 127.0.0.1 45.55.255.55 127.0.0.1 45.55.41.223 #end
关闭 Sublime Text 3 自动更新
打开Submine Text,找到Preferences -> Settings-User
写入 "update_check":false,
Package control install无法使用
出现There are no packages available for installation这样的错误,参考 https://blog.csdn.net/zknxx/article/details/52685094,
在settings-user里指定 channel_v3.json路径。我的是这样的:
"channels":
[
"C:\Editor\Sublime Text 3\channel_v3.json"
],
channel_v3.json 我放了一份在网盘上。
ubuntu16.04/18.04下无法输入中文
参考 https://blog.csdn.net/u012300744/article/details/80339452解决。简述就是:
git clone https://github.com/lyfeyaj/sublime-text-imfix.git
cd ~/sublime-text-imfix sudo cp ./lib/libsublime-imfix.so /opt/sublime_text/ sudo cp ./src/subl /usr/bin/
我实际是装在了/opt/sublime_text_3下,修改 /usr/bin/subl文件:
export LD_PRELOAD=/opt/sublime_text_3/libsublime-imfix.so exec /opt/sublime_text_3/sublime_text "$@"
以后启动用subl启动就行了。具体打开某个文件,用 sublime_text还是会打开已经有的sublime。
參見 Ubuntu 下Sublime安装配置及搭建轻量级C/C++IDE,摘录如下
1. 安装
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text
2. Sublime Text 3配置及插件
安装好Package Control就可以安装插件了,Sublime最强大的它丰富的插件
Ctrl+Shift+P找到Package Control: Install Package(输入pki就能找到),按Enter确定可能会有点慢,可以看到下面状态栏左边有个’=’在左右移动就说明在就加载中
加载出来就可以搜索安装插件了
有下面这些有用的插件可以安装
- BracketHighlighter 引号高亮匹配
- C++ Snippets C++代码补全
- ChineseLocalization 汉化
- MarkDown Editing 看名字就知道是干嘛的了
- MarkDown Preview 看名字就知道是干嘛的了
- MarkDown TOC 加入目录,有的Markdown不支持[TOC]语法的就可以用这个
上面两个软件要Sublime自带的markdown系统,设置-ignored-packages里面加一个Markdown(系统自带Markdown)
"ignored_packages":
[
"Markdown",
],
但我觉得这个并不好用,直接用stackedit.io/editor这个网页版的Markdown编辑器就好了,功能强大,虽然是个网页,但可以离线打开,可以云盘同步自动保存到云盘,直接可以Publish到博客(但只支持一些国外的博客),保存成pdf虽然要收费但是可以点开StackEdit Viewer然后用Chrome打印功能存成PDF,排版完美,感觉是良心开发者故意留的
- ConvertToUTF8 编码转换
-
SublimeLinter
静态代码校验,超强大,能检查数组越界等编译不能检查出来的bug- 安装sublimeLinter 和 SublimeLinter-cppcheck
- 安装cppcheck(
sudo apt-get cppcheck
,自己下载的安装包倒腾了好久都没弄好,编译安装好了后运行一直缺少文件,最后发现可以直接apt-get,md,可以apt-get你给我个包让我自己编译安装???) - 打开SublimeLinter的linter和linting(Ctrl+Shift+P找到这两个选项)
- 在tools/SublimeLinter里设置Linter Mode为load&save(在载入和保存代码的时候检查), Mark Style设置成自己喜欢的
-
SublimeAStyleFormatter 代码格式化,一键整理代码,主要是括号,空格和缩进等的格式化,能力有限,但一些特殊情况下还是能派上大用场的,Ctrl+Alt+F格式化
3. Sublime Text 3配置C/C++开发环境
虽然直接Ctrl-B就能编译,但Sublime内置的编译系统并不好用
可以自己在编译系统里面新建一个自己的编译系统
点开新建编译系统,将这一段复制进去,保存为My_C++
{ "cmd" : ["g++", "-std=c++14", "$file_name", "-o", "${file_base_name}", "-lm", "-Wall"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector" : "source.c, source.c++", "shell":false, "working_dir" : "$file_path", "variants": [ { "name": "My_Run", "cmd": ["gnome-terminal", "-e", "bash -c "'${file_path}/${file_base_name}' ; read -p ' Press any key to continue...'""] } ] }
这样就多出了一个My_C++的编译选项了,My_C++是编译,My_C++ Run是打开终端并运行编译好的程序
添加快捷键
打开首选项的快捷键设置,加入
[ { "keys": ["f8"], "command": "build" }, { "keys": ["f9"], "command": "build", "args": {"variant": "My_Run"} }, ]
F8编译,F9运行,原来Sublime F9是一键排序代码,就是把每一行按字典序重排,并没有什么用,覆盖掉算了
编辑器加入到菜单右键
简单摘录如下,
~/. local /share/nautilus/scripts
在该目录下创建一个文件,命名“Sublime”(名字可以随意)。文件内容如下:
#!/bin/bash exec "<把这里替换成Sublime的全路径>" $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
执行命令
chmod +x Sublime
geany也是这样处理。
sublime配合yaml-cpp时的编译错误怎么解决。我用的自定义编译的c++17.sublime-build文件是这样的
{ "cmd": [ "g++", "-std=c++17", "-lyaml-cpp", "$file_name", "-o", "${file_base_name}", // "-lm", "-Wall" ], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector": "source.c, source.c++", "shell": false, "working_dir": "$file_path", "variants": [ { "name": "My_Run", "cmd": [ "gnome-terminal", "-e", "bash -c "'${file_path}/${file_base_name}' ; read -p ' Press any key to continue...'"" ] } ] }
命令行下编译没有问题,但sublime编译下就有问题,最新版的sublime也不行。把里面的g++改为clang++就可以了。大概是sublime和g++中间接口的问题吧。具体原因网上无法搜到。
shell脚本美观
参考 https://github.com/chiefbiiko/shfmt-install,安装插件 pretty shell, 它依赖的shfmt如下安装。
curl -fsSL https://raw.githubusercontent.com/chiefbiiko/shfmt-install/v0.1.0/install.sh | sh -s /usr/local/bin v2.6.4 shfmt -version
编程字体
我是参见What is the best alternative to Fira Code,windows下选择了inconsolada,linux下选择了fira code,挺好看的。
我的windows中sublime的设置是这样的。
{ "bold_folder_labels": true, "caret_style": "phase", "default_encoding": "UTF-8", "ensure_newline_at_eof_on_save": true, "env": { "PYTHONIOENCODING": "utf8" }, "font_options": ["dlig","subpixel_antialias"], "font_face": "Inconsolata", "font_size": 12, "highlight_line": true, "highlight_modified_tabs": true, "http_proxy": "http://127.0.0.1:50445", "https_proxy": "http://127.0.0.1:50445", "ignored_packages": [ "Markdown", "Vintage" ], "line_padding_bottom": 0, "line_padding_top": 0, "open_files_in_new_window": false, "rulers": [ 80, 100 ], "save_on_focus_lost": true, "show_encoding": true, "show_full_path": true, "spell_check": false, "tab_size": 4, "trim_trailing_white_space_on_save": true, "word_wrap": true }
插件Clickable URLs
参见https://www.xknote.com/ask/60d1eb00ce204.html,摘录就是需要修改插件配置“mouse binding - user”,内容是:
[ // Open the URL in default browser. { "button": "button1", "count": 2, "press_command": "open_url_under_cursor" } ]