让它输入中文的原理就是给sublime text3给打上个补丁libsublime-imfix.so,这个补丁可以直接git回来,或者下载补丁的源码编译安装。

Ubuntu可以直接按照下面的教程

sublime text3 输入中文的解决方法

 

1. 下载我们需要的文件,打开终端 ,输入:

git clone https://github.com/lyfeyaj/sublime-text-imfix.git

2. 将下载的文件解压之后,移到当前目录(~目录下边),然后执行下边命令:

cd ~/sublime-text-imfix (前提:解压后的sublime-text-imfix必须在~目录下) 
sudo cp ./lib/libsublime-imfix.so /opt/sublime_text/
sudo cp ./src/subl /usr/bin/

3. 最后把sublime都关掉,然后在终端输入subl,就可以在sublime使用中文了

本人我折腾的是从源码编译安装补丁的

新建文件sub-fcitx.c,建议放在Sublime Text的所在目录下,将下面的代码复制进去

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*
sublime-imfix.c
Use LD_PRELOAD to interpose some function to fix sublime input method support for linux.
By Cjacker Huang gcc -shared -o libsublime-imfix.so sublime-imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
LD_PRELOAD=./libsublime-imfix.so subl
*/
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
typedef GdkSegment GdkRegionBox; struct _GdkRegion
{
long size;
long numRects;
GdkRegionBox *rects;
GdkRegionBox extents;
}; GtkIMContext *local_context; void
gdk_region_get_clipbox (const GdkRegion *region,
GdkRectangle *rectangle)
{
g_return_if_fail (region != NULL);
g_return_if_fail (rectangle != NULL); rectangle->x = region->extents.x1;
rectangle->y = region->extents.y1;
rectangle->width = region->extents.x2 - region->extents.x1;
rectangle->height = region->extents.y2 - region->extents.y1;
GdkRectangle rect;
rect.x = rectangle->x;
rect.y = rectangle->y;
rect.width = 0;
rect.height = rectangle->height;
//The caret width is 2;
//Maybe sometimes we will make a mistake, but for most of the time, it should be the caret.
if(rectangle->width == 2 && GTK_IS_IM_CONTEXT(local_context)) {
gtk_im_context_set_cursor_location(local_context, rectangle);
}
} //this is needed, for example, if you input something in file dialog and return back the edit area
//context will lost, so here we set it again. static GdkFilterReturn event_filter (GdkXEvent *xevent, GdkEvent *event, gpointer im_context)
{
XEvent *xev = (XEvent *)xevent;
if(xev->type == KeyRelease && GTK_IS_IM_CONTEXT(im_context)) {
GdkWindow * win = g_object_get_data(G_OBJECT(im_context),"window");
if(GDK_IS_WINDOW(win))
gtk_im_context_set_client_window(im_context, win);
}
return GDK_FILTER_CONTINUE;
} 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); if(!GDK_IS_WINDOW (window))
return;
g_object_set_data(G_OBJECT(context),"window",window);
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);
local_context = context;
}
gdk_window_add_filter (window, event_filter, context);
}

安装编译环境(archlinux 不用安装,反正我就不用直接执行编译代码行了)

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

切换到sub-fcitx.c,所在目录,编译生成so文件

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

正常的话,目录下会多一个libsublime-imfix.so文件
切换到Sublime Text目录下,通过LD_PRELOAD=./libsublime-imfix.so ./sublime_text命令启动Sublime Text之后,就会发现可以输入中文了,但是这样太麻烦了,通过添加自己的启动脚本可以简化这一过程。

在这里不在安装原贴教程,原贴这里部分的操作是自己直接写一个脚本来打开sublime text的

脚本如下(如果想这样做的话,你把你的安装路径改进下面的脚本里边)

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash

SUB3_HOME=$HOME/Software/sublime_text_3
CMD="LD_PRELOAD=./libsublime-imfix.so ./sublime_text"
FILENAME=$1
if [ -n "$1" ]
then
CMD=${CMD}" "`pwd`/$FILENAME
fi
cd "$SUB3_HOME"
eval $CMD

我的(archlinux环境)做法是直接用一个脚本去替换原来在/usr/bin/subl3这个链接文件,这个链接文件是链接到我的安装路径/opt/sublime_text_3/sublime_text文件的,我们安装sublime_text_3的桌面启动文件就是打开这个链接文件的,所以我们直接写一个脚本来替换这个链接文件就可以了,这样就可以在原来的打开图标打开这个脚本(记得你脚本的文件名要和原来链接文件的名字一样哦,archlinux上是subl3),从而输入中文了

脚本如下    (路径自己改一下)

##########################分割符

#!/bin/sh

export LD_PRELOAD=/opt/sublime_text_3/libsublime-imfix.so

exec /opt/sublime_text_3/sublime_text "$@"

##########################分割符

现在你可以把所有sublime text关闭从新打开了,或者直接运行(在命令行敲上subl3)写好的脚本subl3来启动

 

一下是注册内容

Sublime Text3注册码(可用)

作为强大而小巧,性感且快捷的SublimeText,怎么能够允许不时弹个框提醒你购买,并且顶部有未注册这样破坏美感的存在呢?OK,点开Help,填入注册码即可消除此问题。

Sublime text 3 3103 注册码 ! (Update:2016-03-08)

—– BEGIN LICENSE —– 
Michael Barnes 
Single User License 
EA7E-821385 
8A353C41 872A0D5C DF9B2950 AFF6F667 
C458EA6D 8EA3C286 98D1D650 131A97AB 
AA919AEC EF20E143 B361B1E7 4C8B7F04 
B085E65E 2F5F5360 8489D422 FB8FC1AA 
93F6323C FD7F7544 3F39C318 D95E6480 
FCCC7561 8A4A1741 68FA4223 ADCEDE07 
200C25BE DBBC4855 C4CFB774 C5EC138C 
0FEC1CEF D9DCECEC D3A5DAD1 01316C36 
—— END LICENSE ——

—– BEGIN LICENSE —– 
Nicolas Hennion 
Single User License 
EA7E-866075 
8A01AA83 1D668D24 4484AEBC 3B04512C 
827B0DE5 69E9B07A A39ACCC0 F95F5410 
729D5639 4C37CECB B2522FB3 8D37FDC1 
72899363 BBA441AC A5F47F08 6CD3B3FE 
CEFB3783 B2E1BA96 71AAF7B4 AFB61B1D 
0CC513E7 52FF2333 9F726D2C CDE53B4A 
810C0D4F E1F419A3 CDA0832B 8440565A 
35BF00F6 4CA9F869 ED10E245 469C233E 
—— END LICENSE ——

—– BEGIN LICENSE —– 
Anthony Sansone 
Single User License 
EA7E-878563 
28B9A648 42B99D8A F2E3E9E0 16DE076E 
E218B3DC F3606379 C33C1526 E8B58964 
B2CB3F63 BDF901BE D31424D2 082891B5 
F7058694 55FA46D8 EFC11878 0868F093 
B17CAFE7 63A78881 86B78E38 0F146238 
BAE22DBB D4EC71A1 0EC2E701 C7F9C648 
5CF29CA3 1CB14285 19A46991 E9A98676 
14FD4777 2D8A0AB6 A444EE0D CA009B54 
—— END LICENSE ——

—– BEGIN LICENSE —– 
Alexey Plutalov 
Single User License 
EA7E-860776 
3DC19CC1 134CDF23 504DC871 2DE5CE55 
585DC8A6 253BB0D9 637C87A2 D8D0BA85 
AAE574AD BA7D6DA9 2B9773F2 324C5DEF 
17830A4E FBCF9D1D 182406E9 F883EA87 
E585BBA1 2538C270 E2E857C2 194283CA 
7234FF9E D0392F93 1D16E021 F1914917 
63909E12 203C0169 3F08FFC8 86D06EA8 
73DDAEF0 AC559F30 A6A67947 B60104C6 
—— END LICENSE —— 
这份美好来源于这里 Sublime text 3 3103 注册码

 

sublime text3 输入中文的解决方法及注册的更多相关文章

  1. sublime text3 输入中文的解决方法

    1. 下载我们需要的文件,打开终端 ,输入: git clone https://github.com/lyfeyaj/sublime-text-imfix.git 2. 将下载的文件解压之后,移到当 ...

  2. ubuntu14.04 LTS 搜狗输入法安装和不能输入中文的解决方法

    搜狗输入法安装 1.首先通过Ubuntu软件中心,需要安装:fcitx https://pinyin.sogou.com/linux/help.php 2.然后再安装搜狗输入法包 https://pi ...

  3. Linux下sublime 无法输入中文的解决

    个人认为linux下的编辑器,对于小白来说,最好用的就是sublime了,但是,安装之后敲代码无法输入中文 ,很尴尬. 百度后,发现了解决方法. 项目链接:https://github.com/lyf ...

  4. sublime text3输入中文的问题.

    1.新建sublime_imfix.c文件 里面输入: /* * sublime-imfix.c * Use LD_PRELOAD to interpose some function to fix ...

  5. sublime Text3插件无法安装解决方法(提示There are no packages available installation)

    第一步 在sublime Text3界面按"ctrl+."出现一个输入框界面 第二步 在输入框输入: import urllib.request,os,hashlib; h = ' ...

  6. Sublime Text 3中文乱码解决方法以及安装包管理器方法

    一般出现乱码是因为文本采用了GBK编码格式,Sublime Text默认不支持GBK编码. 安装包管理器 简单安装 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令 ...

  7. Sublime Text3中Autoprefixer失效解决方法

    进入CSS文件,默认配置在按下快捷键(Ctrl+Shift+P)后输入Autoprefix,你会发觉它什么事也没干,然后--这什么鬼?抓狂ing-- 原来是因为这玩意还要配置下,以下为配置方法: Pr ...

  8. windows下mysql客户端输入中文显示??解决方法

    >>>>>>>>>>>>>>>>>>>> 1.检查并修改mysql的my.ini ...

  9. Ubuntu14.04安装wineqq国际版出现无法输入中文的解决方法

    执行命令:sudo vim /usr/bin/wine-qqintl 将"export LANG=zh_CN.utf8"改为"export LANG=en_US.utf8 ...

随机推荐

  1. Hive 实战(1)--hive数据导入/导出基础

    前沿: Hive也采用类SQL的语法, 但其作为数据仓库, 与面向OLTP的传统关系型数据库(Mysql/Oracle)有着天然的差别. 它用于离线的数据计算分析, 而不追求高并发/低延时的应用场景. ...

  2. Appium 解决不能输入中文字符问题

    只需在初始化driver方法时,写这两行代码即可:   capabilities.setCapability("unicodeKeyboard", "True" ...

  3. bootstrap-6

    表格:bootstrap为表格提供了1种基础样式和4种附加样式以及一个支持响应式的表格.主要包括: .table:基础表格 .table-striped:斑马线表格 .table-bordered:带 ...

  4. MFC各种控件的常见操作(逐步添加中......)

    由于经常切换系统或界面框架进行编程,难免有时会忘记之前的编程函数等等.所有在此自己做一个备份,以防止重新充电带来的痛苦! 1.CButton 1.1 在VC中编程实现按钮的启用(enable)和禁用( ...

  5. CVE-2014-6271 Bash漏洞利用工具

    CVE-2014-6271 Bash漏洞利用工具 Exploit 1 (CVE-2014-6271) env x='() { :;}; echo vulnerable' bash -c "e ...

  6. [Spring MVC] - Annotation验证

    使用Spring MVC的Annotation验证可以直接对view model的简单数据验证,注意,这里是简单的,如果model的数据验证需要有一些比较复杂的业务逻辑性在里头,只是使用annotat ...

  7. winform里dataGridView分页代码,access数据库

    winform里dataGridView分页,默认dataGridView是不分页的和webform里不一样,webform中GridView自带自带了分页. 现在c/s的程序很多时候也需要webfo ...

  8. Eclipse *下载

    简单了解,Eclipse是绿色软件,下载下来是个压缩包,只需要解压,加上jdk就可以运行了. 相比MyEclipse而言,它是免费的,后者是收费的.各有侧重吧 有很多人用Eclipse,也有很多人用M ...

  9. 【dom4j】解析xml为map

    dom4j解析xml文件 <?xml version="1.0" encoding="utf-8"?> <workflows> < ...

  10. Zookeeper全解析——Client端(转)

    Zookeeper的Client直接与用户打交道,是我们使用Zookeeper的interface.了解ZK Client的结构和工作原理有利于我们合理的使用ZK,并能在使用中更早的发现问题.本文将在 ...