前言
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/
修改文件/usr/bin/subl的内容
sudo gedit /usr/bin/s将
!/bin/sh
exec /opt/sublime_text/sublime_text “$@”
修改为
!/bin/sh
LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text “$@”
此时,在命令中执行 subl 将可以使用搜狗for linux的中文输入
Ubuntu下Sublime Text 3解决无法输入中文的方法
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文件夹。
修改文件/usr/bin/subl的内容udo gedit /usr/bin/subl
将
#!/bin/sh
exec /opt/sublime_text/sublime_text "$@"
修改为
#!/bin/sh
LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"
此时,在命令中执行 subl 将可以使用搜狗for linux的中文输入
Ubuntu下Sublime Text 3解决无法输入中文的方法
5.至此,所有工作完成了。想要启动,直接终端输入:bash ~/sublime,就可以启动sublime,并且能够输入中文。
(自己实验)在主文件夹内的sublime文件里的scr文件里有个sublim text 的快捷方式,直接放在桌面就可以点击使用。
6.如果不需要输入中文,直接按以前的方式打开即可。建脚本文件的目的就是方便打开能输入中文的sublime。
说明
这只是一个权宜之计,完美的解决办法还没有,只能等sublime开发者更新。
网上所谓的完美解决,还是有问题,比如如果更改桌面快捷方式,那么sublime的Browse Packages功能不能使用,当然,还有其他问题。为了正常使用,我就没改。当然如果你中文输入比较多,还是建议修改桌面快捷方式,毕竟那会方便很多,具体怎么样,自己取舍。
另外,输入法不跟框,暂时无解啊。
为了使用鼠标右键打开文件时能够使用中文输入,还需要修改文件sublime_text.desktop的内容。
命令
sudo gedit /usr/share/applications/sublime_text.desktop
将[Desktop Entry]中的字符串
Exec=/opt/sublime_text/sublime_text %F
修改为
Exec=bash -c “LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text %F”
将[Desktop Action Window]中的字符串
Exec=/opt/sublime_text/sublime_text -n
修改为
Exec=bash -c “LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text -n”
将[Desktop Action Document]中的字符串
Exec=/opt/sublime_text/sublime_text –command new_file
修改为
Exec=bash -c “LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text –command new_file”
注意:
修改时请注意双引号”“,否则会导致不能打开带有空格文件名的文件。
此处仅修改了/usr/share/applications/sublime-text.desktop,但可以正常使用了。
opt/sublime_text/目录下的sublime-text.desktop可以修改,也可不修改。