Debain下解决sublime无法输入中文

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

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)

如果出现以下问题:

[email protected]:~/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 "[email protected]"

修改为:

#!/bin/sh
LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "[email protected]"

此时,在命令中执行 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"
时间: 2024-11-05 17:04:34

Debain下解决sublime无法输入中文的相关文章

ubuntu14.04下解决编辑器无法输入中文

phpstorm下. 编辑 phpstorm/bin/phpstorm.sh 在顶部加上 export XMODIFIERS=”@im=fcitx” export GTK_IM_MODULE=”fcitx” export QT_IM_MODULE=”fcitx” ibus的话就改下ibus即可. sublime_text下 1.首先需要下载gtk的lib文件 sudo apt-get install libgtk2.0-dev 2编辑文件:sublime_imfix.c 复制代码 #includ

解决sublime不能输入中文

1.和其他文章一样,先编译附件中的.c文件.然后拷贝到目录. 2.如下创建启动模式: #!/bin/sh export SUBLIME_HOME="/opt/sublime_text" LD_LIB=$SUBLIME_HOME/libsublime-imfix.so sh -c "LD_PRELOAD=$LD_LIB $SUBLIME_HOME/sublime_text [email protected]" 创建一个脚本启动即可.

Ubuntu下sublime无法输入中文问题完美解决

Ubuntu下sublime无法输入中文问题完美解决 从官网下载压缩包 解压到/opt/目录下 将解压后的文件夹重命名为sublime_text 在终端执行git clone https://github.com/lyfeyaj/sublime-text-imfix.git 进入sublime-text-imfix/src/ 执行 sudo cp subl /opt/bin/ 进入sublime-text/下 执行 ./sublime-imfix 大功告成,,仔细看一下sublime-imfix

sublime text3 输入中文的解决方法及注册

让它输入中文的原理就是给sublime text3给打上个补丁libsublime-imfix.so,这个补丁可以直接git回来,或者下载补丁的源码编译安装. Ubuntu可以直接按照下面的教程 sublime text3 输入中文的解决方法 1. 下载我们需要的文件,打开终端 ,输入: git clone https://github.com/lyfeyaj/sublime-text-imfix.git 2. 将下载的文件解压之后,移到当前目录(-目录下边),然后执行下边命令: cd ~/su

Mac os下解决Sublime Text2或3中文乱码问题

度娘了好久都没有找到Mac os解决Sublime Text2的中文乱码问题的教程, 于是自己琢磨了半天,研究了一下并成功在Mac os下直接用sublime Text2开含中文的文件. (再也不用每次开个dos平台下的东西还要去XCode转个码什么的了...) 步骤如下: 0. 打开Sublime text 1. Control+'~'打开控制台, 输入命令按照Sublime package control,按照这个官网来(https://sublime.wbond.net/installat

Mac下Qt Creator无法输入中文的解决方法

在Mac下Qt Creator无法输入中文,就算是切换为了中文输入法也无济于事.于是找了一下设置.在[偏好设置]中,有一个[语言]的下拉框,将其设置为Chinese(China),然后保存,重启就可以了.如图所示

解决Sublime Text 3中文显示乱码问题(转)

解决Sublime Text 3中文显示乱码问题(转) 1.打开Sublime Text 3,按Ctrl+-打开控制行,复制粘贴以下python代码,然后回车运行. 2. 复制并粘贴如下代码: import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = s

基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案

基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案 两个月前做C++课设的时候,电脑编译器编译结果出现了中文乱码,寻求了百度和大神们,都没有解决这个问题,百度上一堆解释是对编译器进行设置之类的,结果没有一个有效果,暑假学习了用Dos来开发Java程序,输入cmd命令中dir(directory)进行查询操作时,显示了一堆中文乱码,原本是想重装系统的,因为电脑里面重要东西有点多,所以自己花了一段时间捣鼓了一下电脑,终于解决了如上两个问题,现在心里很开心,附上如下两幅图: cm

解决Ubuntu14.04下sublime无法输入中文

原帖地址: (简书作者) http://www.jianshu.com/p/bf05fb3a4709 前言 sublime很好用,但是ubuntu14.04 下不能输入中文,这是一个很大的问题.不知道为什么开发着一直也不解决,好在还是有高手在,总能找到方法.网上方法很多,但是也很乱,现在我将自己的经验总结一下. 首先,我参考了好几篇文章,都是蛮不错的,先列出来: sublime-text-imfix:首先推荐这个方法,最简单,但是在我的系统上有些问题.可用这个的强烈推荐用这个 完美解决 Linu