linux/ubuntu sublime text3 配置中文输入法 fcitx(亲身验证)

作为喜欢沉浸在linux下,从事IT学习的一名在读学生。我一直推荐朋友使用sublime text 这款简洁实用的编辑器。之前尝试过几次对其配置中文输入法,一直未能成功。网上的版本较杂,没有一篇能让我顺利配置成功的。包括前几日配置成功之后,帮朋友配置的时候,也没能从网络上找到好的版本。虽说我也是靠着前人的指引配置成功的,但我依然选择了以原创的方式发表这篇博文。因为我的目的很简单,我只是希望能帮到那些和我一样初学linux的朋友,避免处处是坑。当然对于我参考的几篇blog也会在博文结束著明。


言归正转:

1.安装fcitx输入法

sudo apt-get install fcitx

SublimeText 3 下输入中文的配置

1.保存以下代码到文件sublime_imfix.c(位于~目录)

#include
voidgtk_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;
  intwidth= gdk_window_get_width(window);
  intheight= gdk_window_get_height(window);
  if(width!= 0 && height !=0)
    gtk_im_context_focus_in(context);
}


将上一步的代码编译成共享库>libsublime-imfix.so,命令

cd~

gcc-shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs--cflags gtk+-2.0` -fPIC
(直接copy网友的指令,在这里经常会提示文件不存在之类的异常,对比网上各种版本,最后在sublime text 下发现了细微差别)

测试运行

LD_PRELOAD=./libsublime-imfix.sosubl
(此处不报异常,表示可以正常执行下面步骤)

然后将>libsublime-imfix.so拷贝到>sublime_text所在文件夹

sudo mv libsublime-imfix.so /opt/sublime_text/

修改文件/usr/bin/subl的内容

>sudo gedit /usr/bin/subl

#!/bin/sh

exec/opt/sublime_text/sublime_text "$@"

修改为

>#!/bin/sh

>LD_PRELOAD=/opt/sublime_text/libsublime-imfix.soexec /opt/sublime_text/sublime_text "$@"

修改sublime-text-3.desktop

注意:sublime_text.desktop不同版本有所不同,请调整为自己安装版本的路径 

sudo vim /usr/share/applications/sublime_text.desktop


[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/usr/bin/subl  %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;


[Desktop Action Window]
Name=New Window
Exec=/usr/bin/subl -n
OnlyShowIn=Unity;


[Desktop Action Document]
Name=New File
Exec=/usr/bin/subl --command new_file
OnlyShowIn=Unity;

修改以上三处代码,保存。以上步骤主要完成了SublimeText 3在三种情况下打开中文完全正常运行

参考文献:
1.http://my.oschina.net/daleyjh/blog/151457

2.http://www.jb51.net/os/Ubuntu/193411.html

3.http://www.besttome.com/html/ubuntu_sublime_text_wubi_pinyin.html


无心冒犯,只是希望能够帮助到热爱变成的初学者朋友,谢谢。


你可能感兴趣的:(linux/ubuntu sublime text3 配置中文输入法 fcitx(亲身验证))