所有要用到的文件(安装包、汉化包、sublime_imfix.c)可以查看我的资源下载:
破解参考朽木的一篇博客:http://www.xiumu.org/note/sublime-text-3.shtml
复制他文章末尾给的许可证直接输入进去就行了,下面的许可证是他文章末尾给的build3083版本的许可证,应该向下兼容。
----- BEGIN LICENSE -----
Andrew Weber
Single User License
EA7E-855605
813A03DD 5E4AD9E6 6C0EEB94 BC99798F
942194A6 02396E98 E62C9979 4BB979FE
91424C9D A45400BF F6747D88 2FB88078
90F5CC94 1CDC92DC 8457107A F151657B
1D22E383 A997F016 42397640 33F41CFC
E1D0AE85 A0BBD039 0E9C8D55 E1B89D5D
5CDB7036 E56DE1C0 EFCC0840 650CD3A6
B98FC99C 8FAC73EE D2B95564 DF450523
------ END LICENSE ------
在菜单栏中选择help——enter license,把上面的许可证复制到出现的框里,点击use license就可以了,破解之后就不会显示unregistered字样了。
实际上汉化就是安装了一个package而已,所以在ubuntu下面也可以用windows下的汉化包,我这里下载了朽木给的build3059版本的汉化包
Sublime_Text_CN_3059.zip,解压之后得到Default.sublime-package文件,其实就是个package,在菜单中选择preferences——Browse packages进入到/home/siat/.config/sublime-text-3/Packages然后向上一级进入到/home/siat/.config/sublime-text-3/Installed Packages,把Default.sublime-package包复制到Installed Packages文件夹下,这时sublime text3立刻变成中文了。
这里参考了一篇百度经验:http://jingyan.baidu.com/article/f3ad7d0ff8731609c3345b3b.html
也可以在终端运行下面代码新建这个文件:
$ gedit ~/sublime_imfix.c
复制如下代码到文件中
#include
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);
g_object_set_data(G_OBJECT(context),"window",window);
if(!GDK_IS_WINDOW (window))
return;
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);
}
$ cd ~
$ gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
$ sudo mv libsublime-imfix.so /opt/sublime_text/
$ sudo gedit /usr/bin/subl
将
#!/bin/sh
exec /opt/sublime_text/sublime_text "$@"
修改为
#!/bin/sh
LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"
此时,在命令中执行 subl 将可以使用搜狗for linux的中文输入
$ sudo gedit /usr/share/applications/sublime_text.desktop
a.将[Desktop Entry]中的字符串
Exec=/opt/sublime_text/sublime_text %F
修改为
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text %F"
b.将[Desktop Action Window]中的字符串
Exec=/opt/sublime_text/sublime_text -n
修改为
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text -n"
c.将[Desktop Action Document]中的字符串
Exec=/opt/sublime_text/sublime_text --command new_file
修改为
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text --command new_file"
注意:
修改时请注意双引号”“,否则会导致不能打开带有空格文件名的文件。
此处仅修改了/usr/share/applications/sublime-text.desktop,在终端执行subl打开sublime可以正常输入中文了。
但是点击文件右键选择sublime打开的文件还是无法输入中文,这时需要把/usr/share/applications/sublime-text.desktop文件复制到opt/sublime_text/目录下:
$ sudo cp /usr/share/applications/sublime_text.desktop /opt/sublime_text/