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

一、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. Linux系统的信号详解

    一.信号类型 1) SIGHUP       2) SIGINT       3) SIGQUIT     4) SIGILL        5) SIGTRAP 6) SIGABRT      7) ...

  2. queue(),dequeue()

    这两个方法,一个是往里面添加队列,一个是执行队列 也是分静态方法和实例方法, 同样,实例方法最后调用静态方法 源码主要分析一下延迟delay方法,如何起作用的,写的有点仓促,先记录一下 在这里参照了网 ...

  3. 给postgresql 创建新的用户

    \du 查看当前postgresql的用户,一般此时只能看到 postgres create user ysr superuser password '123456'; \du 就可以看到两个用户了. ...

  4. ng-option小解

    ng-option 有数组,对象两种情况,但目前只接触过数组 数组: label for value in array 分为一般数组和对象数组 一般数组: <select ng-model=&q ...

  5. java获取数据库的列名、类型等信息

    当你使用和学习JDK的时候,可以查看并学习它所提供给你的两个ResultSetMetaData 和DataBaseMetaData类的源码并很好的了解它们的实现原理和思路,JDBC中提供有两种源数据, ...

  6. jsp base标签与meta标签学习小结

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  7. php 日期处理 例子

    <?php date_default_timezone_set('PRC'); //默认时区 echo "今天:",date("Y-m-d",time() ...

  8. Swift: Alamofire -> http请求 & ObjectMapper -> 解析JSON

    1 2 3 4 5 6 7 8 9 10 11 NSURL *URL = [NSURL URLWithString:@"http://example.com/resources/123.js ...

  9. win8.1点击“更改电脑设置”无反应(闪退)

    系统:win8.1 专业版 症状:win键+C → 设置 → 更改电脑设置,无反应. 尝试办法: 1.SFC /scannow扫描修复,扫描出错误但无法修复.因为曾经为了节省空间,用DISM++清理了 ...

  10. lucene特殊字符处理

    这是个郁闷的问题,今天遇到了,但在lucene中查询的关键字保护有特殊字符,譬如--,会出现如下异常: org.apache.lucene.queryParser.ParseException: Ca ...