Ubuntu 16.04 LTS 的 Sublime Text 3 安装及中文配置

最近闲来无事,开始学习 Python,选择用 Sublime Text 3 作为开发的 IDE。然而发现安装完毕 Sublime Text 3 之后,不能在其中输入中文,查询了《Ubuntu 16.04下Sublime Text 3 的安装和中文配置》,感觉其中有些内容说明不明确。笔者趁着正在 pip 安装 Python 模块的时间,在该教程基础上进一步说明。

一. sublime text 3 在 Ubuntu 16.04 LTS 下的安装

1. 下载压缩包

笔者使用的是 Sublime Text 的 3 版本,可以直接从官网上下载。
官方下载地址:https://www.sublimetext.com/3

2. 解压

解压命令:

tar xvf sublime_text_3_build_3143_x64.tar.bz2

此时用 cd 命令进入解压的 Sublime Text 3 的文件夹,运行 ./sublime_text 即可打开 Sublime Text 3,但此时还不支持中文输入。
后面说明如何配置 Sublime Text 3 的中文输入法支持。

二. Sublime Text 3 中文输入法配置

1. Ubuntu 16.04 下安装搜狗输入法

笔者个人习惯使用 fcitx 的搜狗输入法。笔者以前也写过在 Ubuntu 上安装搜狗输入法的教程,地址如下:
《Ubuntu 14.04 LTS 安装配置搜狗拼音输入法》
《Ubuntu 14.04 LTS 搜狗拼音输入法不能使用的情况》

笔者在写这两篇博客时还在使用 Ubuntu 14.04 LTS,前几天重新装了 16.04,同样使用上面两篇博客的安装方法,亲测有效。

2. 生成支持中文输入法的 .so 文件

(1) 安装依赖库

首先安装一些依赖库,输入指令如下:

sudo apt-get install libgtk2.0-dev

(2) 新建代码文件

进入 ~ 目录,并新建文件 sublime_imfix.c,指令如下:

cd
gedit sublime_imfix.c

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

(3) 生成共享库 .so 文件

在 ~ 路径下用 gcc 指令生成共享库 libsublime-imfix.so,指令如下:

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

(4) 复制共享库文件到 Sublime Text 3 所在文件夹

根据自己的 Sublime Text 3 所在路径,将刚刚生成的 libsublime-imfix.so 复制过去。以笔者为例,指令如下:

sudo cp libsublime-imfix.so /home/grq/kit/sublime_text_3/

3. 配置共享库文件

(1) 修改 /usr/bin/subl

此时在 /usr/bin 路径中创造脚本文件,令运行脚本后打开 Sublime Text 3。这时候 /usr/bin 路径中应该没有 subl 文件(如果有该文件,则后续内容中将对应内容进行修改即可),新建文件的命令如下:

sudo gedit /usr/bin/subl

将下面的代码复制进 subl 中(其中第二行内容为 Sublime Text 3 所在位置,此处以笔者的环境为例):

#!/bin/sh
LD_PRELOAD=/home/grq/kit/sublime_text_3/libsublime-imfix.so exec /home/grq/kit/sublime_text_3/sublime_text "$@"

为 subl 提供执行权限,指令如下:

sudo chmod +x subl

此时输入指令:

subl

命令执行后,Sublime Text 3 会弹出运行,且可以支持中文输入。

(2) 更改 .desktop 文件

为了使用鼠标右键打开文件时能够使用中文输入,还需要修改 Sublime Text 3 目录中文件 sublime_text.desktop 的内容。进入 Sublime Text 3 所在路径并修改文件,指令如下(以笔者的工作环境为例,具体需要根据实际情况进行改正):

sudo gedit ~/kit/sublime_text_3/sublime_text.desktop

[Desktop Entry] 中的字符串

Exec=/opt/sublime_text/sublime_text %F

修改为:

Exec=bash -c "LD_PRELOAD=/home/grq/kit/sublime_text_3/libsublime-imfix.so exec /home/grq/kit/sublime_text_3/sublime_text %F"

[Desktop Action Window] 中的字符串

Exec=/opt/sublime_text/sublime_text -n

修改为:

Exec=bash -c "LD_PRELOAD=/home/grq/kit/sublime_text_3/libsublime-imfix.so exec /home/grq/kit/sublime_text_3/sublime_text -n"

[Desktop Action Document] 中的字符串

Exec=bash -c "LD_PRELOAD=/home/grq/kit/sublime_text_3/libsublime-imfix.so exec /home/grq/kit/sublime_text_3/sublime_text --command new_file"

到此处,已经将 Sublime Text 3 的安装与中文配置执行完毕了。完成后的截图如下:
这里写图片描述

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值