最近突然很喜欢在sublime下打码,但是发现sublime是不支持中文输入的,搜集了一下资料,最后还是打算采用比较常见的编译一个共享库(libsublime-imfix.so),在sublime启动之前加载。
第一步
先把输入法换成fcitx,卸掉ibus然后选择一个fcitx输入法,我用的是搜狗,如果嫌麻烦,就到搜狗下一个deb直接安装,喜欢折腾就是用命令行添加源安装,这里不详述。
第二步
假设已经安装好了必要的编译环境了,再继续安装一个依赖库:
sudo apt-get install build-essential libgtk2.0-dev
点击下载 sublime-imfix 后编译:
gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
如果出错了,自行脑补安装各种依赖库,不然会在本目录生成 libsublime-imfix.so 文件,只要在启动sublime之前加载这个库就支持中文了,前提是已经安装好了sublime(比如sublime的路径在PATH里面),不然需要指定sublime的路径:
LD_PRELOAD=./libsublime-imfix.so sublime
如果我们一直都这样打开这是个很麻烦的事,可以把这个写成一个shell文件放在/usr/bin/或者/usr/local/sbin下面,并且最好把libsublime-imfix.so放到sublime的安装目录,我的是/opt/sublime,subl文件如下:
#!/bin/bash SUBLIME_HOME="/opt/sublime" LD_LIB=$SUBLIME_HOME/lib/libsublime-imfix.so sh -c "LD_PRELOAD=$LD_LIB $SUBLIME_HOME/sublime_text $@"
里面的路径根据自身sublime自行修改,然后我们在命令行下执行subl就能启动支持中文的sublime了。
如果你还是觉得启动麻烦,还有一种方法就是在桌面加入图标:
sudo subl /usr/share/applications/subl.desktop
加入:
[Desktop Entry] Version=1.0 Name=Sublime_zh # Only KDE 4 seems to use GenericName, so we reuse the KDE strings. # From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. GenericName=Text Editor # 这里需要改成上面写的脚本名subl Exec=subl Terminal=false Icon=/opt/sublime/Icon/48x48/sublime_text.png Type=Application Categories=TextEditor;IDE;Development X-Ayatana-Desktop-Shortcuts=NewWindow [NewWindow Shortcut Group] Name=New Window # 这里需要改成上面写的脚本名subl Exec=subl -n TargetEnvironment=Unity
如果启动栏没有出现sublime,手动加进去就行了。