• Sublime 2 配置


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

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

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

     1 {
     2     "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
     3     "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
     4     "working_dir": "${file_path}",
     5     "selector": "source.c, source.c++",
     6 
     7     "variants":
     8     [
     9         {
    10             "name": "Run",
    11             "cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
    12         }
    13     ]
    14 }

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

     1 {
     2     "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
     3     "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
     4     "working_dir": "${file_path}",
     5     "selector": "source.c, source.c++",
     6 
     7     "variants":
     8     [
     9         {
    10             "name": "Run",
    11             //"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
    12             "cmd": ["${file_path}/${file_base_name}"]
    13         }
    14     ]
    15 }

    即可。

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

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

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

    改build文件为:

     1 {
     2     "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
     3     "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
     4     "working_dir": "${file_path}",
     5     "selector": "source.c, source.c++",
     6 
     7     "variants":
     8     [
     9         {
    10             "name": "Run",
    11             "cmd": ["${file_path}/${file_base_name}"]
    12             //"cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "cmd", "/c", "${file_path}/${file_base_name}"]
    13         },
    14         {
    15             "name": "RunInCommand",
    16             "cmd": ["cmd", "/c", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"]
    17         },
    18         {
    19             "name": "BuildAndRun",
    20             "cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"]
    21         }
    22     ]
    23 }

    然后修改快捷键配置:

    Preference -> Key Bindings -- User

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

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

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

    于是把默认的F7改为:

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

     1 {
     2     "cmd": ["javac", "${file}"],
     3     "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
     4     "selector": "source.java",
     5     "encoding": "gbk",
     6     "variants":
     7     [
     8         {
     9             "name": "Run",
    10             "cmd": ["java", "${file_base_name}"]
    11         },
    12         {
    13             "name": "RunInCommand",
    14             "cmd": ["cmd", "/c", "start", "cmd", "/c", "java ${file_base_name} & pause"]
    15         },
    16         {
    17             "name": "BuildAndRun",
    18             "cmd": ["cmd", "/c", "javac", "${file}", "&&", "start", "cmd", "/c", "java ${file_base_name} & pause"]
    19         }
    20     ]
    21 }


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

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

    CTRL+B 编译

    CTRL+SHIFT+B sublime内运行

    F10 调用CMD窗口运行

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

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

    三、用Snippet保存代码段

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

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

    1 <snippet>
    2     <content><![CDATA[
    3 Hello, ${1:this} is a ${2:snippet}.
    4 ]]></content>
    5     <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    6     <!-- <tabTrigger>hello</tabTrigger> -->
    7     <!-- Optional: Set a scope to limit where the snippet will trigger -->
    8     <!-- <scope>source.python</scope> -->
    9 </snippet>

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

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

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

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

    下面这段:

     1 <snippet>
     2     <content><![CDATA[
     3 /* ***********************************************
     4 ID      : Chen Fan
     5 LANG    : G++
     6 PROG    : ${1:}
     7 ************************************************ */
     8 
     9 #include<iostream>
    10 #include<cstdio>
    11 #include<cstring>
    12 
    13 using namespace std;
    14 
    15 int main()
    16 {
    17     ${0:/* code */}
    18 
    19     return 0;
    20 }
    21 
    22 ]]></content>
    23     <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    24     <tabTrigger>jcf</tabTrigger>
    25     <!-- Optional: Set a scope to limit where the snippet will trigger -->
    26     <!-- <scope>source.python</scope> -->
    27 </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模式

    Do Cool Things That Matter!
  • 相关阅读:
    build、host和target选项
    第一篇博客
    C++中的new和delete
    新分类:C++复习笔记
    泛读英文小说推荐
    借助查询分析器对遗留项目进行分析
    程序员等级(非本人观点)
    线程并发时的四种数据同步方法
    单元测试之什么是优秀的单元测试
    多线程之进度条
  • 原文地址:https://www.cnblogs.com/jcf94/p/4003286.html
Copyright © 2020-2023  润新知