Sublime Text 2 使用指南 + ubuntu 下安装 + 喜欢 sublime Text 理由

使用背景

89年,两年半经验Java程序员(Android 开发工程师).终日与Eclipse为伴.摸过Visual Studio.学过点Vim.没有代表性,也没有牛逼经历.希望玩一些新东西(并且希望它有存在价值的东西).写的比较片面,大牛看到了也可能觉得比较弱... 多包涵了.

1.IDE 是什么?

集成开发环境,Integrated Development Environment的英文缩写,可辅助开发程式的应用软件。--摘自维基百科.
印象中,Visual Studio,Eclipse,Xcode,属于典型的IDE代表.功能巨强大,运行也巨慢...(仅说Eclipse,而且慢也是相对要说到的文本编辑器个人理解,IDE,是能提高开发速度,针对项目而言的偏巨型工具.(也是相对要说到的文本编辑器).

2.文本编辑器

首先说到常用的编辑器,你可能会说notepad++ ,editplus ,ultraedit.再着你可能会说Vim,Emacs(这个见都没见过).今天主角是Sublime Text2 网上也有不少教程,但是因为昨天给朋友推荐的时候,一番小小对话,觉得可以写下来.顺带写一下自己的配置.

适用范围:PHP开发(我自己有一个Android的APP,有时候会根据需求写一些接口,使用的PHP,大牛开发用啥我就不知道了.).Html/Css,也不错的体验(非专业人事的非专业意见).代替notepad,这是必须的.

3.IDE与文本编辑器区别

昨天给朋友推荐这款编辑器,得到了确实一个很尴尬的回答,这个有我们VS强大么?我还是用VS.
个人理解,
IDE针对的是Project,整个开发过程.  编辑器针对的是单个文件的快速修改.  
IDE,有着更便捷的操作,有着更强大的功能,更丰富的插件.  编辑器的话,也许也能实现相应的功能,但是你要有一个相对繁琐的过程,最后功能也许实现了,但是操作起来又不是那么方便.甚至是降低了你的工作效率.比如查看函数.(体验不够,没有用到什么非常神奇的功能...)

编辑器的存在,就是取代notepad,在修改带个文件的时候,使你不用打开庞大的IDE.可能如果你是写JS,又或者相对Java/C++/Object-C冷门的语言时,他能成了你的IDE.  别的还有待体会.

4.Sublime Text2

使用心得:体验要好过Vim,长大好看,没办法啊.   比Vim配置要简单的多.跟容易上手.  插件部分,这个不能比,但是对于我这种就改改Php/Html/Css/Js的人,应该够有.
Sublime Text2 下载:http://www.sublimetext.com/  . 他是一个可以无限制使用的付费软件.(59刀),要不然就是偶尔会提出一个提醒你购买的对话框,频率还是很低的.

  4.1使用Package Control组件安装

1.按Ctrl+`调出console粘贴以下代码到底部命令行并回车:

[plain] view plain copy print ?
  1. import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())  

2.重启Sublime Text 2。

3.如果在Perferences->package settings中看到package control这一项,则安装成功。

4.如果这种方法不能安装成功,可以到这里下载文件手动安装。

  4.2用Package Control安装插件的方法:

1.按下Ctrl+Shift+P调出命令面板

2.输入install 调出 Install Package 选项并回车,然后在列表中选中要安装的插件。底部会有安装状态显示.

3.你可以通过点击 Perferences->Browse Packages 查看已安装的插件.(.sublime-keymap 是他们的默认快捷键,你可以查看如何进行操作. README 这个不用解释吧.

  4.3配置

1.快捷键: 按下Ctrl+Shift+P调出命令面板 输入 key 前两个选项,一个是系统默认,一个是用户自定义的. 基本还是比较通用的. 我就把整行删除/大小写转换/自动补全设置成了Eclipse的快捷键.
2.Packages路径: 默认在Windows安装后,配置文件/插件会被放在%appdata%/ 路径下. 其实你可以在Sublime Text2 的安装路径下,创建一个Data文件夹. 那么软件就会把配置文件/插件等放入该文件夹,这样做的好处就是你的Sublime 变成绿色的了. 公司和自己的电脑都可以用同样的配置.
3.添加右键菜单: 如果你用的是绿色版的,那么这个功能就要你自己添加. 点击打开链接

5.插件(可能由于快捷键设置问题,你安装的插件不能正常,所以,要先确定你的快捷键是正常的.)

ConvertToUTF8 / GBK Encoding Support . 中文问题解决

ColorPicker . 他可以在光标处,输出你选择颜色的色值.

FileDiffs . 文件比较

CTags . 函数查看. 
1.首先,你需要下载ctags. Ctags 官网. 我访问不了,是在CSDN找的. 
2.将ctags的解压路径添加到(我的电脑->右键->高级系统设置->环境变量->系统变量),path中. 然后在你的项目中  
3.通过在cmd中 运行:ctags -R -f  .tags 生成.tags文件.
4.这样就可以在Sublime Text 中使用插件的快捷键,查看函数了.  
 !.这里要注意,如果你要更新.tags文件,要删除之前的,再运行 ctags -R -f  .tags.   命令不熟,没找到跟新的方法.  我是写了一个批处理,没事点一下.
[plain] view plain copy print ?
  1. del .tags  
  2. ctags -R -f .tags  

Clipboard History.   剪切板历史.


ADBView .  Android日志查看.
可以查看Log日志. 不知道是不是因为输入的太快,Sublime很卡,几乎不能用.

Andrew  . 

其他的插件,网上什么XXX必装插件的文章很多,搜一下按需安装就好了.  一些必不可少的SublimeText插件

6.补充

时而更新一下发现的新功能.
show unsaved changes   会告诉你保存之前,这次你做了什么更改.

ctrl + r        show_overlay.  显示方法列表.

7.总结

感觉很容易上手,再稍加配置,基本上就可以变成一个有这Eclipse操作习惯(快捷键),的文本编辑器.


ubuntu下sublime Text 2编辑器安装教程

Sublime Text 2是一款功能很强大的图形界面的编辑器,可以安装各种插件,使之功能很强大!

  Ubuntu下 安装方法:
             

[python] view plain copy print ?
  1. sudo add-apt-repository ppa:webupd8team/sublime-text-2  
[python] view plain copy print ?
  1. sudo apt-get update  
[python] view plain copy print ?
  1. sudo apt-get install sublime-text  


   
! 注意: 
    Sublime Text安装好后一般是不能输入汉字      
    编译共享内库:
1.   保存下述代码为 sublime-imfix.c 文件;
     
[cpp] view plain copy print ?
  1. /*sublime-imfix.c 
  2. Use LD_PRELOAD to interpose some function to fix sublime input method support for linux. 
  3. By Cjacker Huang  
  4.  
  5. gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config--libs --cflags gtk+-2.0`-fPIC 
  6. LD_PRELOAD=./libsublime-imfix.so sublime_text 
  7. */  
  8. #include   
  9. #include   
  10. typedef GdkSegment GdkRegionBox;  
  11.   
  12. struct _GdkRegion  
  13. {  
  14.   long size;  
  15.   long numRects;  
  16.   GdkRegionBox *rects;  
  17.   GdkRegionBox extents;  
  18. };  
  19.   
  20. GtkIMContext *local_context;  
  21.   
  22. void gdk_region_get_clipbox (const GdkRegion*region,GdkRectangle *rectangle)  
  23. {  
  24.   g_return_if_fail (region != NULL);  
  25.   g_return_if_fail (rectangle != NULL);  
  26.   
  27.   rectangle->x= region->extents.x1;  
  28.   rectangle->y= region->extents.y1;  
  29.   rectangle->width= region->extents.x2- region->extents.x1;  
  30.   rectangle->height= region->extents.y2- region->extents.y1;  
  31.   GdkRectangle rect;  
  32.   rect.x = rectangle->x;  
  33.   rect.y = rectangle->y;  
  34.   rect.width = 0;  
  35.   rect.height = rectangle->height;  
  36.   //The caret widthis 2;   
  37.   //Maybe sometimes we will make a mistake, butfor most of the time, it should be the caret.  
  38.   if(rectangle->width== 2 && GTK_IS_IM_CONTEXT(local_context)){  
  39.         gtk_im_context_set_cursor_location(local_context, rectangle);  
  40.   }  
  41. }  
  42.   
  43. //this is needed, for example, if you input something in file dialog and return back the edit area  
  44. //context will lost, so here weset it again.  
  45.   
  46. static GdkFilterReturn event_filter (GdkXEvent*xevent, GdkEvent*event, gpointer im_context)  
  47. {  
  48.     XEvent *xev = (XEvent *)xevent;  
  49.     if(xev->type== KeyRelease&& GTK_IS_IM_CONTEXT(im_context)){  
  50.        GdkWindow * win = g_object_get_data(G_OBJECT(im_context),"window");  
  51.        if(GDK_IS_WINDOW(win))  
  52.          gtk_im_context_set_client_window(im_context, win);  
  53.     }  
  54.     return GDK_FILTER_CONTINUE;  
  55. }  
  56.   
  57. void gtk_im_context_set_client_window (GtkIMContext*context,  
  58.           GdkWindow *window)  
  59. {  
  60.   GtkIMContextClass *klass;  
  61.   g_return_if_fail (GTK_IS_IM_CONTEXT (context));  
  62.   klass = GTK_IM_CONTEXT_GET_CLASS (context);  
  63.   if (klass->set_client_window)  
  64.     klass->set_client_window(context, window);  
  65.   
  66.   if(!GDK_IS_WINDOW(window))  
  67.     return;  
  68.   g_object_set_data(G_OBJECT(context),"window",window);  
  69.   int width = gdk_window_get_width(window);  
  70.   int height = gdk_window_get_height(window);  
  71.   if(width!= 0 && height !=0){  
  72.     gtk_im_context_focus_in(context);  
  73.     local_context = context;  
  74.   }  
  75.   gdk_window_add_filter (window, event_filter, context);  
  76. }  

2.安装C/C++的编译环境和gtk libgtk2.0-dev.

[python] view plain copy print ?
  1. sudo apt-get install build-essential  
[python] view plain copy print ?
  1.   
[python] view plain copy print ?
  1. sudo apt-get install libgtk2.0-dev  


 3.编译共享内库;]


[python] view plain copy print ?
  1. gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config--libs --cflags gtk+-2.0`-fPIC  


4. 启动 Sublime Text 2

好了,现在执行下述命令启动 Sublime Text 2,就可以使用fcitx输入中文了!

[python] view plain copy print ?
  1. LD_PRELOAD=./libsublime-imfix.so sublime_text  

5.但是这样的话,我们每次都要在终端里面使用命令启动sublime text 2,这样很不方便,接下来我们还要通过修改sublime-text-2.desktop达到点击图标启动。

    将libsublime-imfix.so移动到/usr/lib/;


[python] view plain copy print ?
  1. sudo mv ./libsublime-imfix.so/usr/lib/  

   打开终端进入applications修改sublime-text-2.desktop;

[python] view plain copy print ?
  1. sudo mv ./libsublime-imfix.so/usr/lib/  

打开 sublime-text-2.desktop后,将

  1. Exec=/usr/bin/subl%F
修改为

[python] view plain copy print ?
  1. Exec=bash-c 'LD_PRELOAD=/usr/lib/libsublime-imfix.so /usr/bin/sublime-text'%F  

还有将[[Desktop Action Window]下的

  1. Exec=/usr/bin/sublime-text
修改为


[python] view plain copy print ?
  1. Exec=bash-c 'LD_PRELOAD=/usr/lib/libsublime-imfix.so /usr/bin/sublime-text'  


 如果你想单击鼠标右键用Sublime Text就直接打开文件的话,还需要进行一点小小的修改.不然,打开是空的.
  解决办法如下:

修改这个的时候 

[python] view plain copy print ?
  1. Exec=bash -c ‘LD_PRELOAD=/usr/lib/libsublime-imfix.so /usr/bin/sublime-text-2′ %F  


 把单引号放到最后,如下


[python] view plain copy print ?
  1. Exec=bash -c ‘LD_PRELOAD=/usr/lib/libsublime-imfix.so/usr/bin/sublime-text %F’  



然后,这个问题就完美解决了.好了,接下来你在dash中点击打开sublime text2吧,开始你的代码之旅吧。
  
     

Sublime Text 3 插件的汉化、开发、发布方法教程
http://my.oschina.net/theforever/blog/136554

sulime-text-2的快捷键以及插件教程:

http://blog.csdn.net/linuxzbq/article/details/9861165

  参考资料:http://my.oschina.net/wugaoxing/blog/121281


ublime

  刚工作的时候,项目组都用UltraEdit,我也随大流。我使用UltraEditUE)工作的时间仅有2个月,

我对UE的印象一直是不亲切,功能齐全常用的却不多,一些功能与配置在菜单和界面中的位置与我期望

的不一样,没有舒适的配色方案等等。

    后来用Notepad++ , 大概半年左右。Notepad++功能相对较简单,界面比UE简洁,快捷键用的比较熟

练,搭配上多view功能和nppFtp插件,工作效率提高了不少。

    201211到现在一直用Sublime text 2,用过感受就是很舒服、很方便、真奇特。功能丰富而且

易用性高:配置sublime快捷键的方式,极其方便的command palette,强大的文件与内容模糊等等,本文

的主要目的是从易用性等几个方面分享我使用Sublime text 2 时的一些感受和经验,希望它能引起你对Sublime

的兴趣。关于Sublime的教程及详细介绍,网上有很多,参见本文结尾处的References

    对于各文本编辑器的观点很可能与我的使用熟练程度与特定工作(主要是在项目中开发C++,Python

相关,不具普遍性,哪个编辑器真正适合你还是需要自己亲身尝试。

   

    1.学习成本低-功能简洁-很快上手-易用性高

    Sublime 最大的特点就是把大多数功能做的又简洁又简单,易用性很高,不像笨重的UltraEdit。一般

的文本编辑器如UltraEdit, Notepad++, Sublime的部分相同功能的默认快捷键也相同,为在不同的编辑器之

间切换提供便利。   

    而且Sublime提供了一些操作方式和功能,如方便的Key bindingsCommand PaletteGoto anything 

能提高工作的效率:缩短了移动光标的距离,鼠标点选功能项、菜单的次数,减少了重复工作,少了点烦

心。在这方面,Sublime与乔布斯的设计哲学真有些相似(但是Sublime的作者曾经只在Google工作过)。

   

    2.跨平台

    有了Sublime,对于我这种同时用mac,windows,ubuntu的人是很大的幸福,不必学习使用多个text editor

不必在多个text editor之间切换。

    Sublime支持Mac OS X,windows 32/64bit , Linux 32/64 bit


    3. 简洁的find and replace 

    Sublime的查找替换功能没有复杂的勾选,出现在编辑器底部边缘的位置,不会妨碍需要浏览的内容。





    4. Command Palette 命令面板

    Sublime提供了方便的命令调用方式,选择Tool->Command Palette,或者按快捷键ctrl + shift + P 调出

Command Palette ,只要简单地输入命令名称中包含的的几个字母就可以立即查找到可能匹配的命令,按下

回车直接执行,省去了在菜单中依次查找的麻烦。Command Palette可匹配的结果包括:菜单中常用的命

令、设置打开的文本按哪种编程语言进行语法高亮,snippets等。



    5. Goto Anything and Fuzzy Search 文件查找和模糊匹配

    快捷键 Ctrl + p 或者 Goto-> Goto Anything,出现一个简洁的输入文本区域。这个功能让你能够迅速

查找已打开的文件和已打开的目录中的文件,并在这些文件之间迅速切换。输入文件名中包含的字母,迅

速得到可能的匹配。非常喜欢sublime提供的仅仅键入几个字母即可得到想要的结果的模糊匹配功能。

   

    还可以在这些文件中查找特定的文本,例如:

    调出Goto Anything 后,输入island#treasure 来查找文件名匹配island的文件中的treasure

    (例子来源:Sublime Text Unofficial Documentation)

    类似的功能还有:

        (1)Goto Symbol  ctrl + R  快速定位到函数

        (2)Goto Line    ctrl + G  快速定位到行


    6.实用的多重选择 

    提供多种多重选择方式:

    按住ctrl ,用鼠标左键点击要选择的文本位置,出现多个光标,可在同行、跨行多重选择。

ctrl + L 可选中这些行。

    按住shift,点击鼠标右键可以类似notepad++中列模式的方式多重选择文本。

  按住shift + alt 点击鼠标右键,可在多选中去除某个选择。


    7. 多种布局方式

    你可以将编辑窗口拆分为两列,三列,四列 或者两行,三行再或者四格模式,方便查看和编辑文件。



    8. 针对编程语言提示编辑错误

    以颜色高亮的方式提示一些编程语法错误。如C++定义Class时忘记加末尾分号,忘记删除尾部注释

符号’*/’等。


    9. Key Bindings

    Sublimepreferences , key bindings , macro都做成了json格式的配置文件,相对于复杂的界面来讲,

更容易实现查找和简单的配置。但是还不清楚这是sublime的设计思想,还是它未来可能会改成界面。

    例如key bindings 的配置,允许你DIY操作与快捷键的映射关系。

    快捷键的映射关系保存在.sublime-keymap文件中,可通过Preferences->Key Bindings-Default打开此文件,


    以下是.sublime-keymap中的部分内容:

[python] view plain copy
  1. [  
  2.     { "keys": ["ctrl+shift+n"], "command""new_window" },  
  3.     { "keys": ["ctrl+shift+w"], "command""close_window" },  
  4.     { "keys": ["ctrl+left"], "command""move""args": {"by""words""forward": false} },  
  5.     { "keys": ["escape"], "command""hide_auto_complete""context":  
  6.         [  
  7.             { "key""auto_complete_visible""operator""equal""operand": true }  
  8.         ]  
  9.     },  
  10. ]  

    “keys”的值为快捷键组合,”command”的值为要执行的命令。更加复杂的还包括待输入的参数

”args”以及命令的上下文信息”context”


    10. package control

    Sublime有极好的扩展能力,使用Python作为扩展语言,想要更好地利用它的扩展能力,应该使用

Package ControlPackage Control 的目的是帮助sublime用户简化安装、管理插件的过程,它能与sublime

完美结合,是sublime的必备神器,你仍然可以像操作command palette 那样操作package control.

     

        Package control的安装方法及使用方法见:

                http://wbond.net/sublime_packages/package_control  


    常用快捷键(windows/Linux)

      1. ctrl+方向键  按单词移动

      2. ctrl+shift + 方向键  按单词选取

      3. ctrl + F3 查找选定的或光标所在单词

      4. F3 查找特定的单词(一般查找的流程是先ctrl+F3,再F3)

      5. ctrl + shift + p 打开Command Palette

      6. ctrl + R  定位文件中出现的符号

      7. ctrl + G  定位行

      8. Ctrl + p    Goto anything

      9. ctrl + shift + d  复制光标所在的行

     10. ctrl + shift + k  删除光标所在的行

     11. Shift + alt + 2  拆分窗口成两列

     12. Shift + alt + 8  拆分窗口成两行

    常用快捷键(mac)

     关于mac的常用快捷键可参考:https://gist.github.com/1207002


    Sublime text 2 必备插件

      (1)ConvertToUTF8 

                Sublime 只支持utf8编码,该插件可以帮助处理 GBK, BIG5, EUC-KR, EUC-JP, SHIFT_JIS 

    编码的文件

      (2) Sftp  ftp工具,类似notepad++nppftp插件

      (3) Sidebar enhancements 侧边栏功能增强插件,提供很多实用的文件操作。


    Sublime的问题

        sublime也是有各种问题的,当然并不是指它是收费的,毕竟目前可以完全免费使用,只是偶尔会提示

购买而已。即使真正收费了,这也是一个值得购买的好软件,并不影响它的出色表现。

       真正的问题是在Linuxsublime无法输入中文,解决方法繁琐。


    Sublime其他资料

    (1)lucifr的博客中有关于sublime text 2 的优质内容 http://lucifr.com/tags/sublime-text/

    (2)各种插件 https://sublime.wbond.net/



你可能感兴趣的:(Linux,Android)