sublime text3 输入中文的解决方法及注册

时间:2022-09-01 16:57:27

让它输入中文的原理就是给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&period;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输入中文的问题&period;

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

  5. sublime Text3插件无法安装解决方法&lpar;提示There are no packages available installation&rpar;

    第一步 在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客户端输入中文显示&quest;&quest;解决方法

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

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

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

随机推荐

  1. ubuntu下面mysql,通过载入txt文件初始化数据表

    环境:ubuntu12.04   mysql(通过apt安装) (1)根据数据表中的属性列,对应在txt中构造记录(一行对应一条记录),不同属性之间通过tab键(以/root目录下构建的init.tx ...

  2. jQuery 基础

    慕课网 2016-01-07 每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<select class="selector"&g ...

  3. VBS自编写脚本。(实现批量修改文件名且在执行前,备份原有文件夹中的文件)

    '=========================================================================='' VBScript Source File - ...

  4. TPshop手机新模板的用户消息实现

    今天在开发TPshop的手机新模板的消息页面,姑且记录一下. 首先,点击下方右上角,进入消息页面: 数据库中目前模拟了三条数据,有: 点击上图右上角,有: 这个 消息设置 功能是新增的,而且类型由原本 ...

  5. Vue&period;js 2&period;x笔记:表单绑定(3)

    1. 基础用法 v-model 指令:在表单 input 和 textarea 元素上创建双向数据绑定. 1.1 单行文本(Text) <div id="app"> & ...

  6. php数组实现根据某个键值将相同键值合并生成新二维数组的方法

    $infos = array( array( 'a' => 36, 'b' => 'xa', 'c' => '2015-08-28 00:00:00', 'd' => '201 ...

  7. &lbrack;git&rsqb;入门-工作区、暂存区、版本库

    转载整理自:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743256 ...

  8. 使用gradle命令代替CUBA Studio,启动项目

    在cuba platform开发中,一开始都会使用CUBA Studio,这是一个脚手架,可以很方便的创建数据表.视图.Bean等.但是有时也会有奇怪的问题,比如不能读取本地maven 仓库,只读取远 ...

  9. Delphi XE以后的版本 程序如何瘦身

    第一步:关闭debug infomation. 打开工程后,依次点击project--option--delphi compiler--linking 将右边Debug information改为Fa ...

  10. JQ面试问题(转载)

    1 你在公司是怎么用jquery的? 答:在项目中是怎么用的是看看你有没有项目经验(根据自己的实际情况来回答) 你用过的选择器啊,动画啊,表单啊,ajax事件等 配置Jquery环境 下载jquery ...