Sumblime Text3是一款传说中的神级代码编辑器,具有下面特点:

1、代码高亮,自己主动补全

2、各种插件扩展

3、外观简洁舒适

4、跨平台(Windows,Linux,OS X)

简而言之就是一款让人爱不释手的编辑器。事不宜迟,立即介绍下怎样在Ubuntu中安装它并使其能输入中文

測试环境:Ubuntu Kylin 14.04

步骤:

1、安装搜狗输入法

2、安装sublime text3

3、安装package control(非必须,但推荐安装)

4、改动sublime_imfix.c

5、将sublime_imfix.c编译成共享库

6、使双击打开的sublime text能输入中文

第一步:安装搜狗输入法

在搜狗输入法官网获得sogou for Linux的deb包并安装

第二步:安装sublime text3

打开终端(Ctrl + Alt + t),输入下面代码:

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



按回车

输入下面代码并回车:

sudo apt-get update

待升级完毕后。输入下面代码并回车

sudo apt-get install sublime-text-installer

静候sublime text安装完成

第三步:安装package control(非必须,但推荐安装)

(package control是sublime text中用于管理各种插件的工具,为了方便地使用sublime text。推荐大家安装它)

在桌面创建sublime text的快捷方式并打开sublime text(在文件管理器进入/usr/share/applications文件夹并复制图标到桌面就可以)

然后按快捷键ctrl+`(Esc以下那个键),在弹出的命令输入窗体输入以下信息并回车

<span style="color: rgb(51, 51, 51); font-family: 'Microsoft Yahei', 微软雅黑, arial, 宋体, sans-serif; font-size: 16px; line-height: 28px; text-align: justify;">import  urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())</span>

然后静候package control完毕安装又一次启动SublimeText 3,然后使用快捷键Ctrl + Shift + p,在弹出的输入框中输入Package Control则能够看到Install Package的选项进行python开发的同学直接ctrl+b就能执行python程序了。有人推荐学习c/c++的同学安装C++ snipptes。ConvertToUTF8,SublimeAStyleFormatter等插件,这些就由各位自己探索了。

第四步:改动sublime_imfix.c

打开终端,输入

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

按保存并关闭文本

第五步:将sublime_imfix.c编译成共享库libsublime-imfix.so

(so文件是linux的动态库文件。类似windows的dll文件)

编译须要gtk工具包。约为100M,推荐各位在网络状况良好和选择了合适的软件源的情况下进行。

在终端输入:

sudo apt-get install gnome-core-devel

然后将代码编译成共享库。此步没有反应就是最好的反应:

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/

第六步:使双击打开的sublime text能输入中文

(这一步事实上是在sublime text的快捷方式中添加执行上一步编译的libsublime-imfix.so的代码)

在终端中输入下面命令:

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

把打开的文本改为下面代码:

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text %F"
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;Utility;
StartupNotify=true
Actions=Window;Document; [Desktop Action Window]
Name=New Window
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text -n"
OnlyShowIn=Unity; [Desktop Action Document]
Name=New File
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text --command new_file"
OnlyShowIn=Unity;

又一次创建快捷方式。重新启动sublime text。按ctrl+空格激活搜狗输入法,就能愉快地输入中文了。

PS:有些同学喜欢在终端使用命令行来打开sublime text,这须要下面步骤:

(原理同第六步)

在终端输入

sudo gedit /usr/bin/subl

把打开的文本改为下面代码:

#!/bin/sh
LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"

照例按保存并关闭文本

这样在终端中输入subl 将能够使用搜狗输入中文

这是我第一次写博客,难免有不足之处,敬请各路大神提供意见和建议,我不胜感激。

特别鸣谢:锁锁师兄

Ubuntu安装Sublime Text并输入中文的更多相关文章

  1. 解决 Ubuntu 下 Sublime Text 无法输入中文的问题

    解决 Ubuntu 下 Sublime Text 无法输入中文的问题 1. 安装依赖库 sudo apt-get install build-essential sudo apt-get instal ...

  2. 解决Ubuntu下sublime中不能输入中文的问题

    解决Ubuntu下sublime中不能输入中文的问题 Ubuntu下安装sublime后,不能输入中文,而在其他软件中能正常输入,这是sublime的bug,解决方案是在通过shell在每次运行sub ...

  3. Ubuntu安装sublime Text 3并配置可以输入中文

    使用Ubuntu系统后,想找一个顺手的编辑器,sublime作为我的首选编辑器,在安装和配置可输入中文时遇到各种个样的问题,总结一些: 1:问题: 我的系统是Ubuntu 18.04 LTS,尝试多次 ...

  4. ubuntu下安装Sublime Text并支持中文输入

    Sublime Text还是文本编辑器中比较不错的,就是他的文件对比有些差劲吧,还有中文输入需要打补丁,不知道开发者是怎么想的... 当然,这个软件是收费的,但是不买也能一直的使用,在我天朝就这点好处 ...

  5. Ubuntu安装 Sublime Text 及常用插件推荐

    之前一直在用 Code Blocks 这个IDE工具,可用着还是感觉不怎么好,于是在网上找到了一篇文章,上面介绍了不少IDE,我找到了Sublime Text 感觉挺不错的. 帖子地址: http:/ ...

  6. [笔记]--Ubuntu安装Sublime Text 2

    sublime text 2 有两种安装方式,一种是添加软件源,然后用命令安装.另外一种是下载安装包.解压手动安装.Sublime Text 2 入门及技巧 一.下载安装 1.在Sublime Tex ...

  7. Ubuntu安装Sublime Text 3

    终端命令行安装: Install the GPG key: wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo a ...

  8. ubuntu15.04下sublime text不能输入中文的解决

    原因是由于中文输入法的输入焦点不能插入sublime的输入窗口中,需要使用代码强制插入输入焦点. 代码是cjacker 君提供的,可以看原始的讨论帖子: http://www.sublimetext. ...

  9. [转] ubuntu安装Sublime Text 3并使用SublimeClang插件

    原文地址:https://blog.csdn.net/cywosp/article/details/32721011 3. 安装强大的SublimeClang插件 SublimeClang是Subli ...

随机推荐

  1. leetcode523 Continuous Subarray Sum

    思路: 令sum[p]表示p位置的前缀和.如果sum[i] % k == sum[j] % k (j - i > 1),则存在子段(i, j]的和能够整除k. 实现: class Solutio ...

  2. 如何向expect脚本里面传递参数

    如何向expect脚本里面传递参数   比如下面脚本用来做ssh无密码登陆,自动输入确认yes和密码信息,用户名,密码,hostname通过参数来传递   ssh.exp   Python代码   # ...

  3. Python基础语法(转)

    作者:Peter 出处:http://www.cnblogs.com/Peter-Zhang/   Python 基础语法(一) Python的特点 1. 简单 Python是一种代表简单思想的语言. ...

  4. C# 调用Mysql 带参数存储过程

    使用C#调用Mysql 带参数的存储过程: 1.创建带参数的存储过程:USP_Temp_Test 2.两个参数:IN 参数为 P_XML , OUT 参数为 P_ErrorOut 3.C#代码调用该存 ...

  5. 用antlr4来实现《按编译原理的思路设计的一个计算器》中的计算器

    上次在公司内部讲<词法分析——使用正则文法>是一次失败的尝试——上午有十几个人在场,下午就只来了四个听众. 本来我还在构思如何来讲“语法分析”的知识呢,但现在看来已不太可能. 这个课程没有 ...

  6. 动态代理在WEB与JDBC开发中的应用

    WEB案例 目前有一个2005年开始,基于Struts1的Web项目A,其验证部分依赖于主站的SSO(单点登录).在请求站点A的时候,用户会被强制带去做SSO验证,通过身份验证后后,主站会自动地把请求 ...

  7. 关于 . H 宏定义技巧

    #ifndef   LABEL #define   LABEL //代码部分 #endif LABEL为一个唯一的标号,命名规则跟变量的命名规则一样.常根据它所在的头文件名来命名,例如,如果头文件的文 ...

  8. Beta冲刺提交-星期四

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 <作业要求的链接> 团队名称 唱跳RAP编程 这个作业的目标 1.进行每日例会,每个成员汇报自己今天完成     的工作,PM安排明天的 ...

  9. python队列的实现

    队列是一种抽象数据结构,具有以下特点: (1)具有先进先出的特性(FIFO) (2)拥有两种基本操作,即加入和删除,而且使用front和rear两个指针来分别指向队列的前端和末尾. 队列的基本操作 c ...

  10. 微服务网关从零搭建——(一)创建测试api以及api自动注入consul

    本系列编写目的纯属个人开发记录  以下代码均为demo级 如有需要 请自行优化 代码完整包由于公司电脑加密 无法上传整包的demo文件 consul 开发环境简易处理 consul 下载地址 : ht ...