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. 如何在Eclipse或者Myeclipse中使用tomcat(配置tomcat,发布web项目)?(图文详解)(很实用)

    前期博客 Eclipse里的Java EE视图在哪里?MyEclipse里的Java EE视图在哪里?MyEclipse里的MyEclipse Java Enterprise视图在哪里?(图文详解) ...

  2. HTML5 WEB Storage - localStorage存储位置在哪

    localStorage作为客户端浏览器持久化存储方案 这个是浏览器隔离的,每个浏览器都会把localStorage存储在自己的UserData中,如chrome一般就是 C:\Users\你的计算机 ...

  3. P1400 塔

    题目描述 有N(2<=N<=600000)块砖,要搭一个N层的塔,要求:如果砖A在砖B上面,那么A不能比B的长度+D要长.问有几种方法,输出 答案 mod 1000000009的值. 输入 ...

  4. WordPress强制跳转https教程

    在互联网火热的今天,安全问题显得越来越重要,为了用户信息安全,很多热门网站都启用了https 有小伙伴就问:我启用了https,为什么访问的时候显示的还是http呢? 其实,有时候并不是因为我们ssl ...

  5. 连接服务器的mysql

    在服务器配置好Mysql 数据库,在客户端连接,报错: 解决方法: 1.在MySQL 数据库中修改user表,将host 中的localhoust 改为 %: 2.配置访问数据库的全选 根据需要配置权 ...

  6. struts2之actionSupport学习

    actionSupport在手工完成字段验证,显示错误消息,国际化等情况下推荐使用.

  7. 用纯函数式思维在Java8下写的一段奇葩程序

    首先说一下什么是纯函数式.在我的理解,"纯函数式"用一句话就可以描述:Anything is value.--我的理解不一定准确,但我就是这么理解的. 就是所有的东西都是值--没有 ...

  8. 329.-io流(字符-练习-复制文本文件二)

    //每次读取的字节长度,一般都是1024的倍数 private static final int BUF_SIZE = 1024; public static void main(String[] a ...

  9. HTML meta信息含义

    <meta name="viewport" content="width=device-width,initial-scale=1.0"> cont ...

  10. JavaScipt30(第十八个案例)(主要知识点:Array.prototype.map)

    承接上文,这是第十八个案例,中间的十到十八我直接看了答案,因为有些例子从他打开的页面看不出他要做什么. 附上项目链接: https://github.com/wesbos/JavaScript30 这 ...