在队友的推荐下,爱上了这款神一样的文本编辑器,熟练之后编辑效率真心是大幅提升啊。

一、Package Control

Sublime拥有很强大的插件功能,而自带的缺少个管理工具,这个包可以用来很方便地管理各种插件,

详细说明如下:

功能:安装包管理

简介:sublime插件控制台,提供添加、删除、禁用、查找插件等功能。一个好用的插件安装器。

使用:https://sublime.wbond.net/installation

安装方法:

1.CTRL+` ,调出控制台

2.粘贴以下代码至控制台

import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')

回车安装。

完成以后输入CTRL+SHIFT+P 调出控制台,输入:pci (即Package Control Install的简写)即可调出控制菜单,之后就可以方便地通过这个工具来安装其他功能强大的插件包了。

1.ConvertToUTF8

支持中文显示

2.其他的......以后再加吧

二、Sublime 绑定编译器之后就能变成一个简易的IDE

(1)G++篇

在把编译器的地址加入系统环境变量之后,从CMD中就可以直接调用G++了。Sublime的强大功能就是可以预设在编辑器内调用命令行,Build和Run命令都是预先设置好的,只要CMD能用,不太需要增加其他设定即可调用。

Build 的快捷键是:CTRL+B

Run 的快捷键是:CTRL+SHIFT+B

测试了一下,默认状态下,编译可以直接用,但是调用Run的时候出了点问题,所以还需要再改下配置文件:

Preference -> Bowser Packages -> /C++/C++.sublime-build

默认的配置文件是这样的:

 {
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++", "variants":
[
{
"name": "Run",
"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
}
]
}

问题出在最后一段,这里是通过bash进行运行的,而Windows下没有bash,运行当然会出错了,改成:

 {
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++", "variants":
[
{
"name": "Run",
//"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
"cmd": ["${file_path}/${file_base_name}"]
}
]
}

即可。

可以运行了之后,然后又碰到个让人恼火的事情......这货只能在里面运行,不会像其他正常的IDE那样弹出一个CMD的窗口出来,也就是说,没有办法输入数据,这是个严重的问题。

几经周折,终于让我找到了解决的方案。

参考了:http://blog.csdn.net/lhshu2008/article/details/17582949 的方案:

改build文件为:

 {
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++", "variants":
[
{
"name": "Run",
"cmd": ["${file_path}/${file_base_name}"]
//"cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "cmd", "/c", "${file_path}/${file_base_name}"]
},
{
"name": "RunInCommand",
"cmd": ["cmd", "/c", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"]
},
{
"name": "BuildAndRun",
"cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"]
}
]
}

然后修改快捷键配置:

Preference -> Key Bindings -- User

 [
{ "keys": ["f10"], "command": "build", "args": {"variant": "RunInCommand"} }
]

这样,按F10调用cmd窗口来运行程序,终于解决了

翻了下默认的配置,F7和CTRL+B的功能居然是一样的,浪费我一个快捷键啊....0.0

于是把默认的F7改为:

 "keys": ["f7"], "command": "build", "args": {"variant": "BuildAndRun"}

即上面定义的编译后调出CMD窗口来运行

这样够了,,除了不能用debug,这个简易的IDE拥有超强的文本编辑功能,还是相当好用的。

(2)JAVA篇

由上面的G++配置启发,我想到了JAVA也可以这么改。JAVA本身就没有太好的IDE,往常可能大多数童鞋都是直接拿CMD调的比较多,既然sublime如此强大,改一下正好可以弥补JAVA的问题。

但是对sublime的调用语法了解太少,cmd指令部分差几个空格都会出问题。。。汗。。。另外一个是java运行的时候需要调用java.exe,而且后面不能输入绝对路径,试了好久才终于解决所有问题。

调了一晚上,终于把JAVA的配置部分也完成了。

首先还是系统环境变量配置,这里就不记了,配好之后要保证能从CMD里面调用javac和java就行

之后还是一样,在JAVA对应的文件夹里面找到JAVA的sublime编译配置文件,改成下面这样:

Preference -> Bowser Packages -> /JAVA/JavaC.sublime-build

 {
"cmd": ["javac", "${file}"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java",
"encoding": "gbk",
"variants":
[
{
"name": "Run",
"cmd": ["java", "${file_base_name}"]
},
{
"name": "RunInCommand",
"cmd": ["cmd", "/c", "start", "cmd", "/c", "java ${file_base_name} & pause"]
},
{
"name": "BuildAndRun",
"cmd": ["cmd", "/c", "javac", "${file}", "&&", "start", "cmd", "/c", "java ${file_base_name} & pause"]
}
]
}

因为JAVA编译错误的时候会产生中文提示(CMD设为中文的情况下),所以加上encoding  gbk这一句就不会出现因为字符码引起的错误了

键位设置等等其他的都跟G++一样,只是换了其中的指令部分(妈蛋,这里同一个语句放在前一个引号和后一个引号结果都会不一样,,,明明在最后的调试台上看到的指令一模一样,真不知道这是闹哪样,也就是在这里卡了很久,一直跟我报错)

CTRL+B 编译

CTRL+SHIFT+B sublime内运行

F10 调用CMD窗口运行

F7 编译并且调用CMD窗口运行

运行缓慢的eclipse之流可以去死了~~~~哈哈哈,大胜利~~~~!!!

三、用Snippet保存代码段

Sublime中有个很方便的功能是根据标签自动补全提前保存好的代码段。

Tools -> New Snippet 新建一个Snippet文件,能看到默认的模板内容是这样:

 <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>

Sublime中的Snippet用XML语言描述,而且是一个文件对应一个Snippet。

CDSTA[] 中写上需要保存的代码段;

<tabTrigger></tabTrigger> 中间是触发条件

<scope></scope> 中间是指定这一个Snippet在什么语言中可以使用,不指定就是全局通用

下面这段:

 <snippet>
<content><![CDATA[
/* ***********************************************
ID : Chen Fan
LANG : G++
PROG : ${1:}
************************************************ */ #include<iostream>
#include<cstdio>
#include<cstring> using namespace std; int main()
{
${0:/* code */} return 0;
} ]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>jcf</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<!-- <scope>source.python</scope> -->
</snippet>

写好之后,当我编辑C++文件时,输入jcf+TAB,即可迅速调出上面这段起始代码了,中间的 ${0:} 指定复制完成之后光标最后的位置

重点来了!

${0:}这种标号可以有多个!

试验了一下,默认是从1开始按照升序的顺序跳转(如果有多个标号),改完一个地方之后按下TAB即可跳到下一个标号,最后在0处结束。即上面的这段snippet,贴出来之后光标首先会停在PROG:后面,改好后按下TAB即可跳转至下面的代码部分,很多常用的代码段都可以用这种方式自定义添加,大大加快了代码编辑的速度。

然后还有个问题,Sublime默认给出的main()函数的Snippet是带argc和argv的,这就让有强迫症的我很不爽,然后又找不到默认的设置在哪,郁闷了好久。

好在后来终于找到了:

Preference -> Bowser Packages -> /C++ 这个目录下存放了所有默认指定了C++格式的snippet,改之即可。

其他格式专属的snippet应该也是在其对应的文件夹中

四、Vim模式

据说Sublime的作者原本打算做一个类Vim的编辑器的,在Sublime中也隐藏了一个Vim模式,可以兼容大部分的Vim操作。

开启的方法很简单:

Preference -> Settings -- user

调出设置文件,初始的时候应该里面只有一句话:

"ignored_packages": [Vintage]

这是是一个包的禁用列表,其中的Vintage应该就是VIM的启动组件,将其从列表中删掉即可

编辑模式下按ESC进入VIM模式

Sublime 2 配置的更多相关文章

  1. Sublime Text 配置记录

    sublime userSetting sublime theme sublime plug sublime userSetting 对sublime的配置 { "color_scheme& ...

  2. Sublime Text配置Python开发利器

    Sublime Text配置Python开发利器 收好了 自动提示 jedi 代码格式化 Python PEP8 autoformat 如果还需要在shell中搞搞研究的话,ipython将是很好的选 ...

  3. Sublime Text 配置

    Sublime Text 配置 1.键盘映射 映射成emacs的键盘方式: Preferences --> Key Bounding - user:然后复制如下配置信息(注意取消前缀“...-- ...

  4. Sublime Text3 配置markdown插件

    sublime是一个亮骚的文本编辑器,而且是跨三大平台,而markdown是一门标记语法,对于记录真是神器,具体语法百度很多,下面教你在sublime上配置markdown. 这两个神器结合起来简直好 ...

  5. Windows Sublime Text 配置Linux子系统(WSL)下的 gcc/g++ 编译环境

    0. 简介(若已了解背景可以跳过此部分) Windows 10 Build 14316以上版本中加入了"Windows系统的Linux子系统"(Windows Subsystem ...

  6. sublime Xdebug 配置

    Sublime Text 配置x-debug 配置php 的x-debug 拓展 下载地址 :http://www.xdebug.org/download.php 放到php ext的目录下 然后使用 ...

  7. Sublime codeIntel 配置支持php自动提示

    Sublime codeIntel 配置支持php自动提示 下载地址:https://github.com/SublimeCodeIntel/SublimeCodeIntel 安装方法:下载后放到su ...

  8. Golang学习:sublime text3配置golang环境

    最近导师让学习golang, 然后我就找了些有关golang的学习视频和网站. 昨天在电脑上下载了go tools, 之后在sublime上配置了golang的运行环境.By the way, 我的电 ...

  9. Sublime 个人配置

    Sublime 个人配置 用的faltland主题,之后还加了一些自己喜欢的东西. 效果图如下: { "always_show_minimap_viewport": true, & ...

  10. Sublime Text3配置Lua运行环境

    Sublime Text3配置Lua运行环境 前言 要问现在哪个编译器最能扛得住潮流,要数Sublime Text3了,由于它的轻量,插件丰富,美观,造就了一大批粉丝(本菜鸡也是哦) 在以前的工作中使 ...

随机推荐

  1. zend笔记

    ZEND_STRL(str)  等价于 (str), (sizeof(str)-1) ZEND_STRS(str)等价于 (str), (sizeof(str))

  2. QML插件扩展2(基于C++的插件扩展)

    上一节介绍了纯QML的插件扩展方式,这种扩展方式基本满足大部分的扩展需求,下面开始介绍比较小众的基于C++的扩展 (一)更新插件工程 1.更新MyPlugin工程下的qmldir文件,加入plugin ...

  3. js-call、apply

    这里主要就是做一些前人的总结,有时候会有自己的看法,首先把定义说一下 1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义 ...

  4. 从今日起,我会把OpenGL红宝书上的例子用完整的代码形式写在我的博客中,

    1.使用教程:OpenGL红宝书第8版 2.使用的库工具:GLEW和GLFW 3.使用的IDE:vs2012 4.说说目的:完整的看一遍OpenGL,加深印象并且熟练掌握运用OpenGL 5.欢迎有相 ...

  5. FRAM 铁电存储器

    铁电存储器与传统存储器的区别. 一:易失性的存储器包括静态存储器SRAM和动态存储器DRAM.           优点:读写速度快,读写寿命无次数限止.           缺点:掉电会丢失数据.  ...

  6. selenium2(WebDriver) API

    selenium2(WebDriver) API 作者:Glen.He出处:http://www.cnblogs.com/puresoul/  1.1  下载selenium2.0的包 官方downl ...

  7. Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法

    在使用 longtext 类型执行数据录入时,有时会抛出这个异常,从字面理解就是当前包大小超过 mysql 系统设置的包大小无法执行操作. 解释一下包大小这个东西:简单来说就是mysql把当前执行的m ...

  8. IDL 实现 EOF(经验正交函数分析)

    关于EOF详细介绍请wiki http://en.wikipedia.org/wiki/Empirical_orthogonal_functions或者Google之. 与PCA一样,EOF也是遥感多 ...

  9. ubuntu server 11.10 mysql 自动备份脚本

    1.下载最新的备份脚本(AutoMySQLBackup) 点这里下载 2.修改脚本配置部分 vi  /root/automysqlbackup-2.5.1-01.sh USERNAME=root PA ...

  10. php basename()文件夹 路径 文件后缀名 读取pathinfo()

    $path = "/www/mywebsite/images/myphoto.jpg"; 1.pathinfo()函数 pathinfo()函数返回的是一个包含了文件信息的数组,数 ...