sublime text 2使用方法

最近开始使用sublime text 2这款软件,写python程序确实方便多了。记录一下使用时遇到的问题吧。

一、安装

apt自动安装:

sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update
sudo apt-get install sublime-text-2

手动安装:

1、官网下载安装包

官网地址:http://www.sublimetext.com/2

2、解压放置

解压并不难,随便找个目录解压就行,但考虑到后面要能在命令行下方便的快速启动,推荐解压到/usr/lib/目录下,我用的方法是先解压后搬移,命令如下:

tar -xvf Sublime\ Text\ 2.0.2\ x64.tar.bz2

mv Sublime\ Text\ 2 /usr/lib/

其中的\为转义符

这样做是因为$PATH这个环境变量自动涵盖了/usr/lib这个目录,不用专门去修改环境变量。

然后键入:

ln -s /usr/lib/Sublime\ Text\ 2/sublime_text /usr/bin/subl

这行命令是在/usr/bin/目录下建立一个名为subl链接,在命令行输入subl就可以启动这个编辑器。其中subl这个名字是自行定义的,用户可以定义的更加简单方便。

3、在applications菜单中创建快捷方式

# sudo gedit /usr/share/applications/sublimetext.desktop  

[Desktop Entry]
Encoding=UTF-8
Name=Sublime Text
Comment=Sublime Text
Exec=/usr/local/SublimeText/sublime_text
Icon=/usr/local/SublimeText/Icon/48x48/sublime_text.png
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;

4、安装控制台

  1. 按Ctrl+`调出console,粘贴下面的代码
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.重启

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

二、配置

1、更改字号

在菜单 Preferences 下找到 Settings – User 点击,会打开performance.sublime-settings这个文件。
修改 font_size 即可。

后来才发现,ctrl+鼠标滚轮就可以方便的调节大小了

2、支持用户输入

需安装插件SublimeREPL。

但使用的时候需要Tools——SublimeREPL——python——run current file,太麻烦了,可以设置快捷键:

 点击Perferences-Key Bindings-Users,添加以下代码即可。

{"keys":["f5"],
"caption": "SublimeREPL: Python - RUN current file",
"command": "run_existing_window_command", "args":
{
"id": "repl_python_run",
"file": "config/Python/Main.sublime-menu"
}
}

 按F5就可以运行啦。

 3、使sublime text 2支持中文输入

需安装插件:ConvertToUTF8和 GBK Encoding Support

但是我装好了还是不行,结果发现,要在代码的第一行写上:

# -*- coding: utf-8 -*-

在ubuntu13.10中,使用输入法fcitx无法切换成中文,以下方式可以解决:

(参考网址 http://blog.csdn.net/tangbin330/article/details/9203947)

1)保存如下代码到任意目录,将其命名为 sublime-imfix.c

    /* 
    sublime-imfix.c 
    Use LD_PRELOAD to interpose some function to fix sublime input method support for linux. 
    By Cjacker Huang <jianzhong.huang at i-soft.com.cn> 
     
    gcc -shared -o libsublime-imfix.so sublime_imfix.c  `pkg-config --libs --cflags gtk+-2.0` -fPIC 
    LD_PRELOAD=./libsublime-imfix.so sublime_text 
    */  
    #include <gtk/gtk.h>  
    #include <gdk/gdkx.h>  
    typedef GdkSegment GdkRegionBox;  
      
    struct _GdkRegion  
    {  
      long size;  
      long numRects;  
      GdkRegionBox *rects;  
      GdkRegionBox extents;  
    };  
      
    GtkIMContext *local_context;  
      
    void  
    gdk_region_get_clipbox (const GdkRegion *region,  
                GdkRectangle    *rectangle)  
    {  
      g_return_if_fail (region != NULL);  
      g_return_if_fail (rectangle != NULL);  
      
      rectangle->x = region->extents.x1;  
      rectangle->y = region->extents.y1;  
      rectangle->width = region->extents.x2 - region->extents.x1;  
      rectangle->height = region->extents.y2 - region->extents.y1;  
      GdkRectangle rect;  
      rect.x = rectangle->x;  
      rect.y = rectangle->y;  
      rect.width = 0;  
      rect.height = rectangle->height;   
      //The caret width is 2;   
      //Maybe sometimes we will make a mistake, but for most of the time, it should be the caret.  
      if(rectangle->width == 2 && GTK_IS_IM_CONTEXT(local_context)) {  
            gtk_im_context_set_cursor_location(local_context, rectangle);  
      }  
    }  
      
    //this is needed, for example, if you input something in file dialog and return back the edit area  
    //context will lost, so here we set it again.  
      
    static GdkFilterReturn event_filter (GdkXEvent *xevent, GdkEvent *event, gpointer im_context)  
    {  
        XEvent *xev = (XEvent *)xevent;  
        if(xev->type == KeyRelease && GTK_IS_IM_CONTEXT(im_context)) {  
           GdkWindow * win = g_object_get_data(G_OBJECT(im_context),"window");  
           if(GDK_IS_WINDOW(win))  
             gtk_im_context_set_client_window(im_context, win);  
        }  
        return GDK_FILTER_CONTINUE;  
    }  
      
    void gtk_im_context_set_client_window (GtkIMContext *context,  
              GdkWindow    *window)  
    {  
      GtkIMContextClass *klass;  
      g_return_if_fail (GTK_IS_IM_CONTEXT (context));  
      klass = GTK_IM_CONTEXT_GET_CLASS (context);  
      if (klass->set_client_window)  
        klass->set_client_window (context, window);  
      
      if(!GDK_IS_WINDOW (window))  
        return;  
      g_object_set_data(G_OBJECT(context),"window",window);  
      int width = gdk_window_get_width(window);  
      int height = gdk_window_get_height(window);  
      if(width != 0 && height !=0) {  
        gtk_im_context_focus_in(context);  
        local_context = context;  
      }  
      gdk_window_add_filter (window, event_filter, context);   
    }  

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

sudo apt-get install build-essential  
sudo apt-get install libgtk2.0-dev 

3) 编译

gcc -shared -o libsublime-imfix.so sublime-imfix.c  `pkg-config --libs --cflags gtk+-2.0` -fPIC 

4) 在当前目录下运行一下命令启动sublime2

LD_PRELOAD=./libsublime-imfix.so sublim

5)创建快捷方式(没有成功)

1>将编译目录下的 libsublime-imfix.so 拷贝到 /usr/lib 目录下

2>在 /usr/share/applications 目录下新建一个名为 sublime2.desktop 的文件,其内容如下:

 

[Desktop Entry]  
Name=Sublime  
Comment=sublime  
Exec=bash -c 'LD_PRELOAD=/usr/lib/libsublime-imfix.so /usr/bin/sublime' %F  
Exec=bash -c 'LD_PRELOAD=/usr/lib/libsublime-imfix.so /usr/bin/sublime' --new-window  
Icon=/home/tbin/Software/sublime2/Sublime.png  
Terminal=false  
Type=Application  
Categories=Application;Development

 

3>可以在applications中找到sublime的快捷方式

 

 


 

posted @ 2014-12-26 17:56  云裳诉  阅读(443)  评论(0编辑  收藏  举报