sublime使用经验汇总

摘要:
当我们使用submite搜索多个文件时,我们需要排除备份的文件。简要描述为:gitclonehttps://github.com/lyfeyaj/sublime-text-imfix.gitcd~/sublime text imfixsudocp./lib/libsulime imfix。因此/opt/sublime_text/sudocp./Src/sub/usr/bin/我实际上已将其安装在/opt/public_text_3中。修改/usr/bin/sub文件:exportLD_PRELOAD=/opt/sublime_text_3/libsublimfix。soexec/opt/submile_text_3/sublime_text“$@”将来,只需以sub开头即可。要专门打开文件,使用submile_text仍会打开现有的submme。

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
200User License
EA7E-8900071D77F72E 390CDD93 4DCBA022 FAF60790
61AA12C0 A37081C5 D0316412 4584D136
94D7F7D4 95BC8C1C 527DA828 560BB037
D1EDDD8C AE7B379F 50C9D69D B35179EF
2FE898C4 8E4277A8 555CE714 E1FB0E43
D5D52613 C3D12E98 BC49967F 7652EED2
9D2D2E61 676108606D338B72 5CF95C69
E36B85CC 84991F19 7575D828 470A92AB
It seems not work.
3126版本的可以用
Ryan Clark
Single User License
EA7E-8124792158A7DE B690A7A3 8EC04710 006A5EEB
34E77CA3 9C82C81F 0DB6371B 79704E6F93F36655 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-1011316D7DA350E 1B8B0760 972F8B60 F3E64036
B9B4E234 F356F38F 0AD1E3B7 0E9C5FAD
FA0A2ABE 25F65BD8 D51458E5 3923CE80
8742842879079A01 AA69F319 A1AF29A4
A684C2DC 0B1583D4 19CBD290 217618CD
5653E0A0 BACE3948 BB2EE45E 422D2C87
DD9AF44B 99C49590 D2DBDEE1 75860FD2
8C8BB2AD B2ECE5A4 EFC08AF2 25A9B864

/etc/hosts中这样设置

#forsublime
127.0.0.1license.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++代码补全
  • Chinese​Localization 汉化
  • 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

    1. 安装sublimeLinter 和 SublimeLinter-cppcheck
    2. 安装cppcheck(sudo apt-get cppcheck,自己下载的安装包倒腾了好久都没弄好,编译安装好了后运行一直缺少文件,最后发现可以直接apt-get,md,可以apt-get你给我个包让我自己编译安装???)
    3. 打开SublimeLinter的linter和linting(Ctrl+Shift+P找到这两个选项)
    4. 在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"}
]

免责声明:文章转载自《sublime使用经验汇总》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SVN图标不显示的解决几种方式Linux查看哪些进程占用的系统 buffer/cache 较高 (hcache,lsof)命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

【NS-3学习】ns3-模拟基础:关键概念,日志,命令行参数

前言本博客首先介绍了模拟过程中使用的一些关键概念,然后介绍了有助于调试模拟脚本的常见技术:日志、命令行参数。Ns-3不是一个特殊的互联网模拟器,而是一个网络模拟器。在ns-3的仿真环境中,节点可以连接到表示数据交换通道的对象。这里,基本通信子网的抽象概念被称为信道,由C++中的channel类描述。在ns-3中,网络设备的抽象概念相当于硬件设备和软件驱动程序...

ESXi挂载NFS共享存储

使用万兆交换机,ESXi使用NFS协议连接存储。本文介绍的是通过NFS协议挂载共享存储上的VS01卷,共享存储上已经赋予ESXi主机访问该卷的权限。...

flutter 蓝牙开发记录

返回设备ID列表//您可以提前注册以扫描收听事件FlutterBlueflatterBlue=FlutterBlue。例子输出到uisetState((){this._blueDevice.add(r);防止多个扫描操作报告错误)FlutterBlueflatterBlue=FlutterBlue.instance;...

db2数据导出导入del与ixf格式

ixf格式保存的是结构和数据,是一个二进制文件,ixf文件不可视。...

uniapp 实现动态切换全局主题色

要求:要在开发的应用程序中切换主题颜色,如果只需要一种主题颜色,但不需要切换,则可以使用uniappSCSS文件文档思想:预先在公共css中定义所需的主题颜色。这里只是一个定义两种颜色的参考文档的示例,可以从中获得想法。您可以使用css属性选择器动态设置数据xx以动态更改主题颜色。最初,您希望将一个变量直接混合到mixin中,以实现主题颜色的全局控制,忽略了...

QT学习之如何在QToolBar中添加带图标的QToolButton并设置图标大小

在网上查到了三种方法,找到一种比较好理解的。图标存放位置可在工程文件夹里创建自命名的文件夹如"res",再在根目录下创建qrc文件,如图:然后我们需要对qrc文件进行编辑:res/1.pngres/2.pngres/3.pngres/4.pngres/5.pngres/6.pngres/7.png这里的"res"是自己命名的存放图标的目录。接着我们需要在项目...