文档章节

Ubuntu下Sublime Text 3 和搜狗拼音输入法安装全套解决方案

苍松
 苍松
发布于 2013/08/08 23:53
字数 1247
阅读 7320
收藏 13

最新消息:优麒麟14.04版自带搜狗输入法,http://www.ubuntukylin.com/,以下可以省去第一步安装输入法了。

首先声明采用方法并非原创,参考了网上的帖子,经过自己的实践做了一些优化,参考帖子如下:

http://www.cnblogs.com/A-Song/archive/2013/04/01/2993194.html
http://songfantasy.iteye.com/blog/1536184
http://my.oschina.net/wugaoxing/blog/121281
http://my.oschina.net/Khiyuan/blog/98713
http://forum.suse.org.cn/viewtopic.php?f=16&t=333
http://www.sublimetext.com/forum/viewtopic.php?f=3&t=7006&start=10#p41343

1. 安装sougou for linux:(最新版优麒麟14.04自带搜狗输入法,不需要执行这一步

(1)卸载原有的输入法,fcitx或ibus。如卸载fcitx

sudo apt-get remove fcitx*(如不需保留配置文件用purge)
sudo apt-get autoremove(自动卸载依赖软件)
sudo dpkg –get-selections | grep fcitx(查询fcitx相关的软件包是否卸载)

(2)通过软件源安装(最好用的)

sudo add-apt-repository ppa:fcitx-team/nightly
sudo apt-get update
sudo apt-get install fcitx-sogoupinyin

然后下载皮肤安装:fcitx-sougou-skin 。在fcitx配置 -> 外观中选择sougou就行了。

fcitx-sougou-skin下载地址:

http://pan.baidu.com/share/link?shareid=3625366887&uk=2046922333


(3)安装完毕,重新登录系统,即可使用搜狗输入法了。

2. 安装配置Sublime Text 3

(1) 添加Sublime Text 3的安装源并执行更新(可忽略非该源产生的更新错误)。

sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update

(2) 安装Sublime Text 3

sudo apt-get install sublime-text

(3) 需要其他配置了,如设置为默认编辑器等等,请参考:

http://songfantasy.iteye.com/blog/1536184

(4) 下面进入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);
}

(5) 安装C/C++的编译环境和gtk libgtk2.0-dev

sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev

(6) 编译成共享库

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

(7) 测试运行

LD_PRELOAD=./libsublime-imfix.so sublime_text

注意:sublime_text 为sublime-text安装后的可执行命令,不同版本的名称可能不一样

如果测试可以运行,则进行第四步配置;如果不行,再试试

http://my.oschina.net/wugaoxing/blog/121281 这个帖子里的sublime_imfix.c文件

(8) 拷贝文件到/opt/sublime_text目录下

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

注意:/opt/sublime_text/不同版本可能有所不同,请调整为自己安装版本的路径

(9) 打开终端修改/usr/bin/subl

sudo vim /usr/bin/subl
修改/usr/bin/subl文件,在第一行加入:
export LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so

注意:/opt/sublime_text/不同版本可能有所不同,请调整为自己安装版本的路径

(10) 修改sublime-text-2.desktop

注意:sublime_text.desktop不同版本有所不同,请调整为自己安装版本的路径 

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

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/usr/bin/subl %F        #这里修改执行路径为/usr/bin/subl,subl文件刚才已经修改过,大家应该记得
Terminal=false
MimeType=text/plain;        
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window]
Name=New Window
Exec=/usr/bin/subl -n       #这里修改执行路径为/usr/bin/subl,subl文件刚才已经修改过,大家应该记得
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=/usr/bin/subl new_file    #这里修改执行路径为/usr/bin/subl,subl文件刚才已经修改过,大家应该记得
OnlyShowIn=Unity;

修改以上三处代码,保存。以上步骤主要完成了Sublime Text 3在三种情况下打开中文完全正常运行,搜狗输入法比小企鹅输入法好用的多。

(11) 测试和方法的不足

Sublime Text 3 有5种打开方式,以下是我给的方法的支持程度:

1. 点击桌面图标或者锁定到任务栏的图标来打开Sublime Text 3        支持中文搜狗拼音

2. 在Sublime Text 3 中新建文件(快捷键Ctrl + N)中                 支持中文搜狗拼音

3. 选中文本文件用右键打开文件                                            支持中文搜狗拼音

4. 命令行执行subl                                                            支持中文搜狗拼音

5. 命令行执行sublime_text                                               不支持中文

相信以上五种方式的测试已经让你深深的爱上了我给的方法。在使用过程中其实还是有一些bug的,但一般都不是致命的bug如:

1. 执行sublime_text不能输入中文,这个相信大家用的并不多,真正用到命令行打开文件时可以用subl代替

2. sublime text 3 输入中文时输入框不跟随文字,这个暂时无解啊,不影响核心使用。

相信也会有其他的bug,已经使用上的如果有好的解决方案可以发出来大家共同探讨。

以上方法同样适用于sublime text 2 版本,不同的是在用路径的时候要修改为自己的路径。

© 著作权归作者所有

共有 人打赏支持
苍松

苍松

粉丝 3
博文 1
码字总数 1247
作品 0
朝阳
程序员
加载中

评论(13)

苍松
苍松

引用来自“FindBlog”的评论

Sublime中文输入框不跟随问题解决
http://www.findspace.name/res/1223

备用了
FindHao
FindHao
Sublime中文输入框不跟随问题解决
http://www.findspace.name/res/1223
苍松
苍松

引用来自“lanmeng-org”的评论

搜狗能输入五笔吗?
http://www.besttome.com/html/ubuntu_sublime_text_wubi_pinyin.html
苍松
苍松

引用来自“lanmeng-org”的评论

搜狗能输入五笔吗?
好像还不行吧,五笔有比搜狗更好的吧
王明明
王明明
搜狗能输入五笔吗?
matcloud
matcloud
成功了13,多谢楼主
苍松
苍松

引用来自“kangear”的评论

换输入法不太现实呀,一个输入法用的好好的,因为一个文本编辑器而换什么理由呀?这个些狗血的问题在windows下都遇不到,在linux就会出现,崩溃了都。

引用来自“wang_liran”的评论

你用过ibus就知道了
不用探讨这个问题了,Ubuntukylin版自带搜狗输入法,可以不用考虑装输入法了,直接从第二步开始搞就行了。
wang_liran
wang_liran

引用来自“kangear”的评论

换输入法不太现实呀,一个输入法用的好好的,因为一个文本编辑器而换什么理由呀?这个些狗血的问题在windows下都遇不到,在linux就会出现,崩溃了都。
你用过ibus就知道了
jander
jander
非常感谢!
苍松
苍松

引用来自“kangear”的评论

换输入法不太现实呀,一个输入法用的好好的,因为一个文本编辑器而换什么理由呀?这个些狗血的问题在windows下都遇不到,在linux就会出现,崩溃了都。

搜狗输入法在linux下挺好用的啊,不装这个文本编辑器我也会装这个输入法的。还是期待最新版的Ubuntu和Sublime上点儿心,能把这个问题解决了,毕竟软件做都做了,就要把它优化好。

配置Elementary OS作为工作环境

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

halfcoder
2013/10/12
0
0
Ubuntu,sublime的安装和配置中文输入

系统:Ubuntu 16.04 输入法:fcitx 拼音五笔 官网下载页: 安装 本想添加软件源到apt ,但是sublime的网站貌似被墙了。添加不成功。老是链接失败。只好下载安装包,自己手动安装了。 官网的安...

ol_O_O_lo
05/17
0
0
Ubuntu系统下Sublime Text 2中fcitx中文输入法的解决方法

Ubuntu系统下Sublime Text 2中fcitx中文输入法的解决方法 前几天把Ubuntu升级到了13.04 beta 2,顺便安装了fcitx 搜狗输入法,但是发现在sublime text 2中无法输入中文,之前在ubuntu 12.04....

jackchanxj
2014/02/18
0
0
在Ubuntu 14.04中使SublimeText 3支持中文输入法

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

赵小宾
2015/05/19
0
0
解决Ubuntu上使用Sublime Text2无法输入中文问题

Sublime Text是一个很好的编码工具,但是有一个蛋疼的问题,就是在Ubuntu是无法输入中文。这个问题终于解决了。。。可以http://my.oschina.net/wugaoxing/blog/121281这篇博客。 我的解决方法...

leaf志良
2013/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
24分钟前
0
0
现场看路演了!

HiBlock
昨天
4
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
4
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
4
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部