前言
sublime很好用,但是ubuntu下不能输入中文,这是一个很大的问题。不知道为什么开发着一直也不解决,好在还是有高手在,总能找到方法。网上方法很多,但是也很乱,现在我将自己的经验总结一下。
首先,我参考了好几篇文章,都是蛮不错的,先列出来:
- sublime-text-imfix:首先推荐这个方法,最简单,但是在我的系统上有些问题。可用这个的强烈推荐用这个
- 完美解决 Linux 下 Sublime Text 中文输入:讲的比较明白,也可用参考。
- Ubuntu下Sublime Text 3解决无法输入中文的方法: 讲解的最清楚了,建议看看。
我的方法
1.下载我们需要的文件,打开终端,输入:
git clone https://github.com/lyfeyaj/sublime-text-imfix.git
2.将subl
移动到/usr/bin/
,并且将sublime-imfix.so
移动到/opt/sublime_text/
(sublime的安装目录)
终端输入:
cd ~/sublime-text-imfix
sudo cp ./lib/libsublime-imfix.so /opt/sublime_text/
sudo cp ./src/subl /usr/bin/
3.用subl
命令试试能不能启动sublime,如果成功启动的话,应该就可以输入中文了。
终端输入:
LD_PRELOAD=./libsublime-imfix.so subl
4.但是这样子只能用上述命令行启动才能输入中文,我们需要更简单的办法,我选择新建一个shell脚本,很简单,就一句话。
sublime新建文件输入:
#!/bin/bash
LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so subl
然后将文件另存为sublime
(注意:没有后缀),并且放到/home
文件夹。
5.至此,所有工作完成了。想要启动,直接终端输入:bash ~/sublime
,就可以启动sublime,并且能够输入中文。
6.如果不需要输入中文,直接按以前的方式打开即可。建脚本文件的目的就是方便打开能输入中文的sublime。
说明
这只是一个权宜之计,完美的解决办法还没有,只能等sublime开发者更新。
网上所谓的完美解决,还是有问题,比如如果更改桌面快捷方式,那么sublime的Browse Packages
功能不能使用,当然,还有其他问题。为了正常使用,我就没改。当然如果你中文输入比较多,还是建议修改桌面快捷方式,毕竟那会方便很多,具体怎么样,自己取舍。
另外,输入法不跟框,暂时无解啊。
微信公众号:lyishaou
微信公众号
网友评论
需要修改下 subl里面的执行路径
Exec=/opt/sublime_text/sublime_text全部替换成subl的路径(whereis subl查看)
即,desktop文件有三处改为
Exec=/usr/bin/X11/subl(后面跟的原来是啥参数,还是啥参数)
LD_PRELOAD=./libsublime-imfix.so subl这个方式,并不需要,我并没有弄。
ERROR: ld.so: object './libsublime-imfix.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
这个错误的童鞋请注意,这里出错基本是路径问题。把./libsublime-imfix.so改成对应路径一般就能通过。
不过很可惜,我这边似乎是输入法的问题,导致无论如何改动都无法切换输入法。
这个方法可以解决,各位可以试试
按上面方式启动,解决中文输入问题,但是没办法编译python文件
但是通过原来的启动方式启动后可以编译。然后再通过上面方式启动,可以正常编译python文件
把Exec改为/usr/bin/subl就可以啦。
ERROR: ld.so: object './libsublime-imfix.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/opt/sublime_text/libsublime-imfix.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
step3 wrong ,请问怎么解决呢
我用 alias 设置启动 可以参考下
在.bashrc 或 .zshrc 里加一行
alias subl_cn="LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so subl"
保持后执行 source .bashrc
然后就可以通过subl_cn 启动支持输入中文的sublime text
亲爱的 请问你知道这是什么情况吗
问了一下同事他用的非3083 比其要低几个版本,但是是3以上,他照做了可以输入中文。
能否贡献一下你的sublime安装软件。tomhat@126.com 谢谢!
我有一个方法跟大家分享一下,实现了用快捷键将当前的文件用支持中文输入的sublime打开。前提是这个文件格式没有绑定其他build命令。
原理:利用sublime build执行命令:pkill subl && subl ‘文件路径’
参考:
//build文件
{
"shell_cmd": "pkill subl && subl \"${file}\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}"
}
注意: 按快捷键之前最好保存一下打开的文件,毕竟是pkill。
不过你最后把shell文件放在/home下运行有点麻烦啊,直接放在/usr/bin里岂不是更好?