已知前置条件
本经验目前在Ubuntu14.04环境下,已有搜狗输入法 for Linux和Sublime Text 3的情况下安装成功。

解决方法步骤
保存下面的代码到文件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);
}

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

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

然后将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.so exec /opt/sublime_text/sublime_text "$@"

此时,在命令中执行 subl 将可以使用搜狗for linux的中文输入

为了使用鼠标右键打开文件时能够使用中文输入,还需要修改文件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"

注意:
修改时请注意双引号"",否则会导致不能打开带有空格文件名的文件。
此处仅修改了/usr/share/applications/sublime-text.desktop,但可以正常使用了。
/opt/sublime_text/目录下的sublime-text.desktop可以修改,也可不修改。
经过以上步骤我们能在Sublime中输入中文了。

转载于:https://www.cnblogs.com/likeatree/p/5396215.html

Ubuntu Sublime Text 3 搜狗拼音相关推荐

  1. Ubuntu sublime text 3无法输入中文的解决办法

    编写代码文件 // sublime_imfix.c #include <gtk/gtkimcontext.h> void gtk_im_context_set_client_window ...

  2. 在Ubuntu 14.04 64bit上为Sublime text 3安装搜狗拼音输入法

    Sublime text 3不支持中文输入法,下面是我结合网上的各种资料摸索实践了一遍,为Sublime text 3成功添加了搜狗拼音输入法,特此记录以备参考. 前提条件: 事先安装并配置好搜狗拼音 ...

  3. 在Ubuntu 14.04 64bit上安装配置sublime text 3(Build 3083)

    Sublime Text是一个轻量.简洁.高效.跨平台的编辑器,同时支持Windows.Linux.Mac OS X等操作系统.Sublime Text是由程序员Jon Skinner于2008年1月 ...

  4. ubuntu 安装 Sublime Text 2

    1\ Add the PPA and install Sublime Text 2 in Ubuntu Shell代码  收藏代码 sudo add-apt-repository ppa:webupd ...

  5. Ubuntu 14.04 安装 Sublime Text 3

    Ubuntu 14.04 安装 Sublime Text 3 听语音 | 浏览:24435 | 更新:2014-09-25 22:14 | 标签:ubuntu 1 2 3 4 5 6 分步阅读 ubl ...

  6. deepin终端编译c程序_C/C++知识点之Ubuntu / Debian / Deepin等 Sublime Text 3 配置C++环境(一键编译运行,格式化代码)...

    本文主要向大家介绍了 C/C++知识点之Ubuntu / Debian / Deepin等 Sublime Text 3 配置C++环境(一键编译&运行,格式化代码),通过具体的内容向大家展示 ...

  7. 【2018年更新】Sublime text 3安装教程(Linux版本--Ubuntu)

    http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3059_amd64.deb 点击上面的链接就可以直接下载,Linux版本的sublime. ...

  8. Ubuntu安装Sublime Text并输入中文

    Sumblime Text3是一款传说中的神级代码编辑器,具有下面特点: 1.代码高亮,自己主动补全 2.各种插件扩展 3.外观简洁舒适 4.跨平台(Windows,Linux,OS X) 简而言之就 ...

  9. Ubuntu 配置 Go 语言开发环境(Sublime Text+GoSublime)

    本文针对的 Go 语言版本为 1.3,之前也有相关文章讲解如何在 Ubuntu 下配置Go语言的开发环境,但时过境迁,一些方法已经不相同或者不必要.虽讲的是 Ubuntu 下安装配置过程,但 Wind ...

最新文章

  1. The method replace(int, Fragment) in the type FragmentTransaction is not applicable for the argument
  2. (四十七)Quartz2D引擎初步
  3. easyUI清除序号
  4. Oracle 10g OCP 042 题库 1-30 题 共168题
  5. 强化学习《基于价值 - Double Q-Learning》
  6. PyTorch 1.0 中文官方教程:聊天机器人教程
  7. 在.NET中把项目从类库转为Web应用程序
  8. html库存代码,库存汇总.html
  9. 使用Pix For Windows调试Shader傻瓜教程
  10. OGRE 1.7.2 [Cthugha] 编译方法
  11. python装饰器详解-python装饰器使用实例详解
  12. 向量的二范数平方求导
  13. Deepin 手动安装显卡驱动
  14. 基于WADE框架开发流程
  15. VMware中GPU虚拟化的三种模式(1)–vSGA
  16. 大厂成熟Foc电机代码STM32f031C6. 把原先的原理图,给整理了
  17. 疫情面试了13家企业软件测试岗位,面试题整理汇总,真的牛
  18. 程序员疯传「编程语言鄙视链」,究竟谁能逃过一劫?
  19. 手绘图分析(Sketch Analysis)
  20. SMO(Sequential Minimal Optimization)算法的数学原理

热门文章

  1. python 对比文件内容差异_使用Python来比较文件夹并提取差异部分
  2. mysql 索引空间大小_查看数据库表中容量大小,表有多少记录,占多少空间以及索引的大小,以及未使用空间...
  3. HTML+CSS+JS实现 ❤️slicebox酷炫3d图片轮播切换❤️
  4. html如何创建关键帧动画旋转,[教程] 用 CSS3 Animations(动画) 和 Keyframes(关键帧) 创建简单的网页动画 – CSS3 实现弹跳球动画...
  5. oracle判断数据出现交叉,Oracle move table分析
  6. matlab 红黑强度图片,matlab图形锐化程序
  7. sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库
  8. 数学建模学习笔记(九)——聚类模型
  9. 【OpenCV 例程200篇】78. 频率域图像滤波基础
  10. 神经网络反向传导算法