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. C#基础 特殊集合

    //stack 干草堆 //先进后出 进 push 出 pop //初始化 //Stack ss = new Stack(); //ss.Push(1); //ss.Push(2); //ss.Pus ...

  2. Roslyn导致发布网站时报错:编译失败

    最近新升级了Visual Studio 2017,创建的Web项目Bin目录中多了一个叫roslyn的文件夹,该文件夹导致网站在某些服务器上发布出错 从网上搜索了一下,Roslyn是新出的动态编译工具 ...

  3. JS简单路由实现

    说一下前端路由实现的简要原理,以 hash 形式(也可以使用 History API 来处理)为例, 当 url 的 hash 发生变化时,触发 hashchange 注册的回调,回调中去进行不同的操 ...

  4. 可以在一个html的文件当中读取另一个html文件的内容

    1.IFrame引入,看看下面的代码 <IFRAME NAME="content_frame" width=100% height=30 marginwidth=0 marg ...

  5. 在中间层 .NET 应用程序中通过授权管理器使用基于角色的安全

    基于角色的安全是从 Windows NT 的第一个版本开始在 Windows 平台上发展而来的.使用角色,操作系统可以通过检查称为 BUILTIN\Administrators 的组的安全上下文做出一 ...

  6. 由DB2分页想到的,关于JDBC ResultSet 处理大数据量

    最近在处理DB2 ,查询中,发现如下问题.如果一个查询 count(*),有几十万行,分页如何实现 select row_number() over (order by fid desc ) as r ...

  7. C#基础知识面试经典[整理]

    个人网站:http://www.51pansou.com .net视频下载:.net视频教程 .net源码下载:.net源码 当初学 C# 时是找个人大概问了一下数据类型和分支语句就开始做项目了.这两 ...

  8. C# 绘图三种方式

    如果你想在窗体上进行绘画.通常会使用以下方法. 方法1,利用控件或窗体的paint事件中的painEventArgs private void form1_Paint(object sender, P ...

  9. mac install telnet

    问题: -bash: telnet: command not found -bash: brew: command not found 解决: /usr/bin/ruby -e "$(cur ...

  10. block的作用

    ios高效开发--blocks相关   1.替换delegate       如果我们有2个viewController,a和b,当我们从a界面push到b后,在b上面触发了一些事件,这些时间又会影响 ...