先在ubuntu中安装中文输入法
选择搜狗输入法,下载linux版本,然后进行安装
$sudo dpkg -i sogoupinyin_2.2.0.0108_amd64.deb
$sudo apt-get install -f
然后进行设置:
如果没有汉语选项,可以在Install/Remove Language中添加
最后添加汉语
设置完以后重启系统
此时便可以使用中文输入法了,接下来在sublime里设置:
下载sublime :https://download.sublimetext.com/sublime_text_3_build_3176_x64.tar.bz2
解压后进入目录,打开终端,输入 ./sublime_text
接下来设置中文输入的问题:
首先安装依赖库:
sudo apt-get install libgtk2.0-dev
在新建文件 sublime_imfix.c
$ gedit sublime_imfix.c
在 sublime_imfix.c 中输入如下代码:
#include <gtk/gtkimcontext.h>
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);
}
然后用用 gcc 指令生成共享库 libsublime-imfix.so
gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
最后配置共享库文件:
在 usr/bin/下新建文件subl
sudo gedit /usr/bin/subl
将下面代码写入subl文件中:
#!/bin/sh
LD_PRELOAD=/home/esi/Desktop/sublime_text_3/libsublime-imfix.so exec /home/esi/Desktop/sublime_text_3/sublime_text "$@"
为subl提供执行权限:
sudo chmod +x /usr/bin/subl
运行subl:
/usr/bin/subl
命令执行后,Sublime Text 3 会弹出运行,且可以支持中文输入。
如果使用鼠标右键打开文件时能够使用中文输入,还需要修改 Sublime Text 3 目录中文件 sublime_text.desktop 的内容。进入 Sublime Text 3 所在路径并修改文件,指令如下:
sudo gedit /home/esi/Desktop/sublime_text_3/sublime_text.desktop
将 [Desktop Entry] 中的字符串
Exec=/opt/sublime_text/sublime_text %F
修改为:
Exec=bash -c "LD_PRELOAD=/home/esi/Desktop/sublime_text_3/libsublime-imfix.so exec /home/esi/Desktop/sublime_text_3/sublime_text %F"
将 [Desktop Action Window] 中的字符串:
Exec=/opt/sublime_text/sublime_text -n
修改为:
Exec=bash -c "LD_PRELOAD=/home/esi/Desktop/sublime_text_3/libsublime-imfix.so exec /home/esi/Desktop/sublime_text_3/sublime_text -n"
将 [Desktop Action Document] 中的字符串
Exec=/opt/sublime_text/sublime_text --command new_file
修改为:
Exec=bash -c "LD_PRELOAD=/home/esi/Desktop/sublime_text_3/libsublime-imfix.so exec /home/esi/Desktop/sublime_text_3/sublime_text --command new_file"
即可全部完成