文档章节

linux下sublime text的中文输入问题

雨醉风尘
 雨醉风尘
发布于 2015/11/15 01:14
字数 451
阅读 299
收藏 9

晚上经过参照网上的解决方法,实践了一下,解决了sublime 在linux下的中文输入问题


1:切换到~目录,
然后新建一个sublime_imfix.c的文件

touch sublime_imfix.c

     

2:编辑sublime_imfix.c文件  

gedit sublime_imfix.c

将下面的代码复制到打开的gedit中

#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);
}

3:将复制好的代码文件sublime_imfix.c编译成libsublime-imfix.so文件

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

到这一步可能会一个有一个错误说什么“gtk/gtkimcontext.h: 没有那个文件或目录”

这时你新开一个终端执行apt-get install libgtk2.0-dev


4:接下来再次执行

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

5:然后将编译的libsublime-imfix.so文件拷贝到sublime_text所在文件夹

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

6:修改文件/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 "$@"


7::还需要修改文件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 Window]中的字符串

Exec=/opt/sublime_text/sublime_text -n

修改为

Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text -n"

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


8:最后,最后,最后,打开sublime,切换到中文输入,try


10:shutdown -h now

         睡觉,睡觉,睡觉

© 著作权归作者所有

共有 人打赏支持
雨醉风尘
粉丝 3
博文 106
码字总数 23692
作品 0
海淀
程序员
私信 提问
在Ubuntu 14.04中使SublimeText 3支持中文输入法

在Ubuntu 14.04中安装了SublimeText 3之后发现既然不支持输入中文,于是在网上搜罗一下,发现很多人遇到了同样的问题,但是解决办法大该就只有一个。下面根据自身的安装及解决办法总结如下:...

赵小宾
2015/05/19
0
0
配置Elementary OS作为工作环境

买了新电脑之后,就换上Elementary OS作为自己的Linux版本。不得不说,Elementary OS确实是我见过的最漂亮的Linux发行版,而且它的panel+dock的设计也很适合用来工作。折腾一番之后终于配置好...

halfcoder
2013/10/12
0
0
Ubuntu下Sublime Text 3解决无法输入中文的方法

环境: Ubuntu14.04 搜狗输入法 for Linux Sublime text 3 提示:编译请在非root下进行 本经验目前在Ubuntu14.04环境下,已有搜狗输入法 for Linux和Sublime Text 3的情况下安装成功。 保存下...

zhangsirsdo
2014/11/04
0
0
ubuntu下的sublime不能输入汉字(转)

先安装能在sublime text 2显示中文的字体,有一个非常好的开源字体,叫做“文泉驿字体”,安装如下: sudo apt-get install xfonts-wqy 官方网站:http://wenq.org/index.cgi?%E9%A6%96%E9%...

JenGuo
2013/11/12
0
0
完美解决 Linux 下 Sublime Text 中文输入

参考Sublime Text官方论坛一位中国哥们的 回复,通过以下方法完美解决Sublime Text 2中文输入的问题。这几天讨论区老是有人提问,就写个教程吧。 系统:Linux Mint 14 Nadia 输入法:Fcitx 4...

tsl0922
2013/03/13
0
43

没有更多内容

加载失败,请刷新页面

加载更多

降压变换器 Buck

特点 输入输出极性相同。 工作过程 在 MOS 导通时,输入电源通过 L 和 C 滤波后向负载端提供电流;当 MOS 断开后,L 通过二极管续流,保持负载电流连续。输出电压因为占空比的作用,不会超过...

colinux
今天
1
0
Apache日志不记录访问静态文件,访问日志切割,静态元素过期时间设置

Apache配置不记录访问静态文件的日志 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 vhost原始配置 <VirtualHost *:80> ServerAdmin test@163.com DocumentRoo...

野雪球
今天
3
0
聊聊storm的ICommitterTridentSpout

序 本文主要研究一下storm的ICommitterTridentSpout ICommitterTridentSpout storm-core-1.2.2-sources.jar!/org/apache/storm/trident/spout/ICommitterTridentSpout.java public interface......

go4it
今天
4
0
Ubuntu常用操作

查看端口号 netstat -anp |grep 端口号 查看已使用端口情况 netstat -nultp(此处不用加端口号) netstat -anp |grep 82查看82端口的使用情况 查找被占用的端口: netstat -tln netstat -tl...

hc321
昨天
4
0
网站cdn的静态资源突然访问变的缓慢,问题排查流程

1.首先我查看了一下是否自己的网络问题,通过对比其他资源的访问速度和下载速度,确认不是 2.通过ping 和 tracert 判断cdn域名能否正常访问,(最后回想感觉这一步可以省略,因为每次最终能访...

小海bug
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部