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、安装控制台
- 按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的快捷方式