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);
       && height !=)
        gtk_im_context_focus_in(context);
    }

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

如果出现以下问题:

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

则输入以下命令后再编译

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

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

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

    让它输入中文的原理就是给sublime text3给打上个补丁libsublime-imfix.so,这个补丁可以直接git回来,或者下载补丁的源码编译安装. Ubuntu可以直接按照下面的教程 su ...

  2. Ubuntu下搜狗输入法突然无法输入中文

    百度了很久的,后面看到这个帖子,找到解决办法.引用:http://blog.csdn.net/kiss_the_sky/article/details/62238529 删除配置文件,重启搜狗 ubu ...

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

    基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案 两个月前做C++课设的时候,电脑编译器编译结果出现了中文乱码,寻求了百度和大神们,都没有解决这个问题,百度上一堆解释是对编译器 ...

  4. 解决Sublime Text 3中文显示乱码问题

    之前用Sublime Text 2,阅读了你是猴子派的救兵吗写的博客解决Sublime Text 2中文显示乱码问题,解决了问题. 后来嫌版本2启动太慢了,换成Sublime Text 3之后,发现网 ...

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

    解决Sublime Text 3中文显示乱码问题(转) 1.打开Sublime Text 3,按Ctrl+-打开控制行,复制粘贴以下python代码,然后回车运行. 2. 复制并粘贴如下代码: 2.重 ...

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

    原帖地址: (简书作者) http://www.jianshu.com/p/bf05fb3a4709 前言 sublime很好用,但是ubuntu14.04 下不能输入中文,这是一个很大的问题.不知道 ...

  7. Linux下sublime 无法输入中文的解决

    个人认为linux下的编辑器,对于小白来说,最好用的就是sublime了,但是,安装之后敲代码无法输入中文 ,很尴尬. 百度后,发现了解决方法. 项目链接:https://github.com/lyf ...

  8. Ubuntu 下 Sublime 无法输入中文?(已解决)

    在 Ubuntu 里安装了 Sublime 却不能输入中文? 这可不好. 怎么办呢? Follow Me! 1 获得 sublime-imfix.c 文件 有 GitHub 账号的,可以从 https ...

  9. 解决在ubuntu环境下, sublime不能输入中文的问题

    sublime text很好用,但是ubuntu下不能输入中文,这是一个很大的问题.网上已经有很多方法,这里将我自己使用的方法记录总结一下 首先,将你的操作系统升级到最新版: sudo apt-get ...

随机推荐

  1. [转]Python中的str与unicode处理方法

    早上被python的编码搞得抓耳挠腮,在搜资料的时候感觉这篇博文很不错,所以收藏在此. python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自 ...

  2. C# 面向对象基础

    面向对象编程OOP(Object-Oriented Programming) 类和对象 类是对象的定义,对象是类的实现. [属性集信息] [类修饰符] class 类名 [:类基] //定义类的语法格 ...

  3. Redis之AOF备份

    redis在进行备份的时候有2种方式:1.RDB:2.AOF:现在主要讲哈AOF的备份 1.找到redis.config配置文件,大部分下载下来和redis-service同目录: 2.打开redie ...

  4. 游戏服务器菜鸟之C#初探三游戏服务

    在经过上述2番折腾之后,最后决定使用TCP进行通信,所以在一次进行重构 主要重构的要点 1.将过来的HTPP请求,重构为TCP请求: 2.使用组件FluenScheduler进行怪物的定时刷新,和定时 ...

  5. VS2010开发工具使用技巧<之简单讲解>

    俗语云:工欲善其事必先利其器! 1.代码放大 效果:放大前----------------------------------------------------------------->放大 ...

  6. SQL Server-外部联接基础回顾(十三)

    前言 本节我们继续讲讲联接类型中的外部联接,本节之后我们将讲述有关联接性能以及更深入的知识,简短内容,深入的理解,Always to review the basics. 外部联接 外部联接又分为左外 ...

  7. T-SQL:毕业生出门需知系列(九)

    <SQL 必知必会>读书笔记 -- 第9课 汇总数据 9.1 聚集函数:对某些行运行的函数,计算并返回一个值 案例: -- 确定表中函数 -- 获得表中某些行的和 -- 找出表列的最大值. ...

  8. 《高性能javascript》 领悟随笔之-------DOM编程篇

    <高性能javascript> 领悟随笔之-------DOM编程篇一 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...

  9. 设计模式(六)原型模式(Prototype Pattern)

    一.引言 在软件系统中,当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,如果我们用new操作符去创建这样的类实例,这未免会增加创建类的复杂度和耗费更多的内存空间,因为这样在 ...

  10. JDBC_part4_大对象_DAO_Bean_DButi

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! JDBCday04_大对象_Dao_DBUtil_Ja ...