欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下解决Sublime Text 3无法输入中文的方法

程序员文章站 2022-05-28 20:13:45
...

一.工具

Ubuntu 16.04 (Debian系列:LinuxMint 、Deepin等也一样)

中文输入法 (搜狗输入法或者系统自带的中文输入法)

Sublime text 3

二.准备工作

因为我们需要编译一段代码,首先执行以下以下命令,确保你电脑了包含一些编译库

sudo apt instal gcc
sudo apt install pkg-config
sudo apt install gtk+2.0

除此之外,安装一下gedit编辑器,当然,如果你使用其他的编辑器也可以

sudo apt install gedit

三.解决过程

1.首先编译源代码

gcc -shared -o libsublime-imfix.so sublime_imfix.c  `pkg-config --libs --cflags gtk+-2.0` -fPIC

成功编译之后会看到一个so文件,如图所示

Linux下解决Sublime Text 3无法输入中文的方法

2.再把so文件复制到sublime所在目录

sudo mv libsublime-imfix.so /opt/sublime_text/

3.执行下面命令,使用gedit打开配置文件并修改

(1) 为了在命令中执行 subl 将可以使用中文输入,修改/usr/bin/subl

sudo gedit /usr/bin/subl

#!/bin/sh

exec /opt/sublime_text/sublime_text "aaa@qq.com"

修改为

#!/bin/sh

LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "aaa@qq.com"

(2) 为了使用鼠标右键打开文件时能够使用中文输入,需要修改文件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"

4. 接下来就可以使用中文输入了

相关标签: Sublime