解决linux下sublime text3无法输入中文的情况
来源:互联网 发布:蓝凌软件股份有限公司 编辑:程序博客网 时间:2024/05/22 21:55
转自:http://geek.csdn.net/news/detail/44464
1.首先保证你的电脑有c++编译环境
如果没有,通过以下指令安装
sudo apt-get install build-essentialsudo apt-get install libgtk2.0-dev
2.在~(/home)目录新建一个名为sublime-imfix.c的文件
内容如下:
#include <gtk/gtkimcontext.h>void gtk_im_context_set_client_window (GtkIMContext *context, GdkWindow *window){ GtkIMContextClass *klass; g_return_if_fail (GTK_IS_IM_CONTEXT (context)); klass = GTK_IM_CONTEXT_GET_CLASS (context); if (klass->set_client_window) klass->set_client_window (context, window); g_object_set_data(G_OBJECT(context),"window",window); if(!GDK_IS_WINDOW (window)) return; int width = gdk_window_get_width(window); int height = gdk_window_get_height(window); if(width != 0 && height !=0) gtk_im_context_focus_in(context);}
3.将上述文件编译成共享库libsublime-imfix.so
gcc -shared -o libsublime-imfix.so sublime-imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
4.将libsublime-imfix.so拷贝到sublime_text所在文件夹
sudo mv libsublime-imfix.so /opt/sublime_text/
5.修改文件/usr/bin/subl的内容
sudo vi /usr/bin/subl
将
#!/bin/shexec /opt/sublime_text/sublime_text "$@"
修改为
#!/bin/shLD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"
此时,在命令中执行 subl 将可以使用搜狗for linux的中文输入,但此时使用其他方式依然无法正常输入中文。
6.为了使用鼠标右键打开文件时能够使用中文输入,还需要修改文件sublime_text.desktop的内容。
命令
sudo vi /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可以修改,也可不修改。
PS:
不能在root模式下使用subl命令打开编辑器。这样打开顶部的操作菜单栏会消失。
需要在普通模式下使用subl打开,这样一切都好使啦!!!
我一般使用命令行打开的,所以最后一步就不用修改了。
更改了还是不能输入中文的童鞋。
一次不成功,那就多试几次。
1 0
- 解决linux下sublime text3无法输入中文的情况
- 解决linux下sublime text3无法输入中文的情况
- 解决Ubuntu下sublime text3无法输入中文的情况
- ubuntu下sublime-text3无法输入中文的解决办法
- 解决Ubuntu下sublime text3不能输入中文的问题
- Linux下sublime 无法输入中文的解决
- 解决linux下QtCreator无法输入中文的情况
- 解决linux下QtCreator无法输入中文的情况
- Linux sublime text3输入中文的问题.
- sublime Text3 ubuntu下无法输入中文解决方案
- 修复sublime text3在ubuntu下无法中文输入
- 完美解决linux下sublime 中文无法输入
- Ubuntu 16.04下解决sublime text3无法输中文问题
- sublime text3 中无法输入中文的问题
- sublime text3 中无法输入中文的问题
- Linux 解决Sublime无法输入中文
- 解决linux中sublime text2无法输入中文的问题
- 完美解决Linux sublime Text中文无法输入的问题
- linux 网络配置
- 环形队列——用户对用户自定义数据类型的相关操作
- 一些好用的网站收藏
- usaco前两章小结
- 2016-11-18
- 解决linux下sublime text3无法输入中文的情况
- C# - 1 - 基础知识汇总
- 原生js实现时间版运动框架
- (POJ1321) 棋盘问题 <DFS ,八皇后问题的变形,皇后数目小于等于行数即有些行可以不放>
- Flex 主程序、模块、PopUp调用初探
- global 关键字
- python 实现登录网页的操作
- div上放置一个固定图片
- Centos-6.5php开发环境搭建过程