[ubuntu入门手册]-19-解决Sublime编辑器无法输入中文
引言
SublimeText是一款跨平台的代码编辑器,功能十分强大,但其在Ubuntu系统中却无法调用中文输入法,这篇文章提供一种解决方案,使Ubuntu下的"Sublime Text 3"能够支持中文输入。
文章目录
0×1.安装SublimeText3
获取软件:
通过SublimeText官方网站下载安装包:SublimeText官方网站
目前的最新版是3114,如有更新并且激活Key失效,请留意本页更新。
#安装最新版 qing@qingsword.com:~$ sudo dpkg -i sublime-text_build-3114_amd64.deb #安装完成后可以在终端输入"subl"启动它,也可以在快速启动栏Ubuntu按钮中搜索"sublime"启动它
启动后,在软件顶部点击"Help">"Enter License",粘贴下面的激活序列号:
3103版序列号:
—– 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 ——
3114版序列号:
—– 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 ——
3143版序列号:
----- BEGIN LICENSE -----
eldon
Single User License
EA7E-1122628
C0360740 20724B8A 30420C09 6D7E046F
3F5D5FBB 17EF95DA 2BA7BB27 CCB14947
27A316BE 8BCF4BC0 252FB8FF FD97DF71
B11A1DA9 F7119CA0 31984BB9 7D71700C
2C728BF8 B952E5F5 B941FF64 6D7979DA
B8EB32F8 8D415F8E F16FE657 A35381CC
290E2905 96E81236 63D2B06D E5F01A69
84174B79 7C467714 641A9013 94CA7162
------ END LICENSE ------
tips:如果遇到输入注册码后,提示注册码失效,在hosts文件中添加下面的信息,再注册即可:
qing@qingsword.com:~$ sudo vim /etc/hosts #添加下面的信息 127.0.0.1 license.sublimehq.com 127.0.0.1 45.55.255.55 127.0.0.1 45.55.41.223
0×2.解决Ubuntu下SublimeText3无法输入中文
为了方便大家,我已经将以下要用到的全部源码打包到百度网盘中提供下载,源码包中包含"sublime-imfix.c"源文件,一个已经编译好的"libsublime-imfix.so",修改好的"subl"和"sublime_text.desktop"文件,大家可以根据下面的步骤将这些现成的文件复制到对应目录即可,下载地址:Sublime支持中文源码。
1)请点击这里下载"sublime-imfix.c"源码文件;如果浏览器没有关联下载器,将会打开一个源码页面,请复制其中所有内容,保存为"sublime-imfix.c"文件
2)安装编译环境
qing@qingsword.com:~$ sudo apt-get install build-essential libgtk2.0-dev
3)在sublime-imfix.c文件所在目录执行下面的命令,编译库文件
qing@qingsword.com:~$ gcc -shared -o libsublime-imfix.so sublime-imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
4)将编译好的库文件复制到Sublime安装目录下
qing@qingsword.com:~$ sudo cp libsublime-imfix.so /opt/sublime_text/
5)修改命令行启动文件subl和桌面启动文件sublime_text.desktop
#修改subl命令行启动文件内容 qing@qingsword.com:~$ sudo gedit /usr/bin/subl #用下面的内容替换原内容 #!/bin/sh sublime_dir="/opt/sublime_text" LD_PRELOAD="$sublime_dir/libsublime-imfix.so" "$sublime_dir/sublime_text" "$@" #修改sublime_text.desktop桌面启动文件内容 qing@qingsword.com:~$ sudo gedit /usr/share/applications/sublime_text.desktop #用下面的内容替换原内容 [Desktop Entry] Version=1.0 Type=Application Name=Sublime Text GenericName=Text Editor Comment=Sophisticated text editor for code, markup and prose Exec=/usr/bin/subl %F Terminal=false MimeType=text/plain; Icon=sublime-text Categories=TextEditor;Development; StartupNotify=true Actions=Window;Document; [Desktop Action Window] Name=New Window Exec=/opt/sublime_text/sublime_text -n OnlyShowIn=Unity; [Desktop Action Document] Name=New File Exec=/opt/sublime_text/sublime_text --command new_file OnlyShowIn=Unity;
至此,无论是命令行输入subl启动,还是通过ubuntu按钮搜索到sublime桌面图标启动,都能正常使用中文输入法了,唯一的bug就是,中文输入法只能定格在sublime的下方无法跟随光标,暂无解决方法,不过并不影响使用。
tips:在ubuntu16.04中sublime的中文和英文输入看起来很奇怪,在一行内,中文总是低于英文显示,这是sublime默认字体导致的,解决方法是,在菜单中打开sublime的"Preferences">"Settings-User",在中括号中添加一行"font_face": "文泉驿微米黑",而且在很多时候,我们不需要更新软件,这会导致我们的注册信息丢失,可以同样在这个配置中添加一行“"update_check": false,”来禁用更新,下面是我的配置:
{ "detect_slow_plugins": false, "font_size": 16, "font_face": "文泉驿微米黑", "update_check": false, "ignored_packages": [ "Vintage" ] }
tips:如果打开"Settings-User"没有内容,请自己添加一个中括号,并在其中输入font_face这一行,注意末尾是有逗号的,设置完成后字体马上就变得正常了。
2018年更新(方法中包含如何在ubuntu18.04中安装微软雅黑字体):在最新的ubuntu18.04中,没有文泉驿微米黑字体了,我们可以从windows下拷贝微软雅黑字体过来,在ubuntu中安装微软雅黑字体,然后在菜单中打开sublime的"Preferences">"Settings-User",将"font_face"字段更新成"微软雅黑",请看下面的演示:
用windows10举例,字体文件保存在C:\windows\fonts\目录中,在文件的地址栏输入"C:\Windows\Fonts\Microsoft YaHei UI"就能查找到微软雅黑的常规字体,将这个字体复制出来备用。
然后在ubuntu保存字体的目录下,创建一个保存这个字体的文件夹,并且更改权限:
qing@qingsword.com:~$ sudo mkdir /usr/share/fonts/truetype/windows-font qing@qingsword.com:~$ sudo chmod 755 /usr/share/fonts/truetype/windows-font
将刚才拷贝的微软雅黑常规字体拷贝到这个目录中后,执行下面的命令:
# 更改字体权限 qing@qingsword.com:~$ sudo chmod 755 /usr/share/fonts/truetype/windows-font/* # 进入字体目录,安装字体 qing@qingsword.com:~$ cd /usr/share/fonts/truetype/windows-font/ # 创建fonts.scale文件,可用来控制字体旋转缩放等 qing@qingsword.com:/usr/share/fonts/truetype/windows-font$ sudo mkfontscale # 创建fonts.dir文件,可用来控制字体粗斜体产生等 qing@qingsword.com:/usr/share/fonts/truetype/windows-font$ sudo mkfontdir # 重新刷新字体缓存,使系统能识别 qing@qingsword.com:/usr/share/fonts/truetype/windows-font$ sudo fc-cache -fv
重新启动系统后,直接将sublime的"Preferences">"Settings-User"配置中的字体更改成微软雅黑即可:
{ "detect_slow_plugins": false, "font_size": 16, "font_face": "微软雅黑", "update_check": false, "ignored_packages": [ "Vintage" ] }