欢迎来到资源库(www.zyku.net)

Sublime

当前位置:首页 > 软件教程 > Sublime > Debain

Debain下解决Sublime Text无法输入中文

时间:2017-03-15|栏目:Sublime|点击:|我要投稿

Sublime Text安装的方法在此不做过多介绍,网上有很多中教程的方式,本文描述在已经安装Sublime Text的前提下如何输入中文。

1.保存下面的代码到文件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);
  }

2.编译成共享文件库文件(命令:gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC)

如果出现以下问题:

  linuxidc@linuxidc:~/Downloads$ sudo gcc -shared -o libsublime-imfix.so sublime_imfix.c  `pkg-config –libs –cflags gtk +-2.0` -fPIC
  sublime_imfix.c:1:30: fatal error: gtk/gtkimcontext.h: 没有那个文件或目录
  #include <gtk/gtkimcontext.h>
  ^
  compilation terminated.

则输入以下命令后再编译

sudo apt-get install libgtk2.0-dev

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

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

3.将libsublime-imfix.so拷贝到sublime_text所在文件夹

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

4.修改文件/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.so exec /opt/sublime_text/sublime_text "$@"

此时,在命令中执行 subl 将可以使用中文输入.

5.为了使用鼠标右键打开文件时能够使用中文输入,还需要修改文件sublime_text.desktop的内容

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

将[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"

将[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"

(资源库 www.zyku.net)

上一篇:sublime text2/3中默认预览浏览器快捷键的方法

栏    目:Sublime

下一篇:sublime text 3文件路径没有提示的设置方法

本文标题:Debain下解决Sublime Text无法输入中文

本文地址:https://www.zyku.net/sublime/1237.html

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务