linux 下解决sublime text 的中文显示乱码与输入问题
2016-11-25 14:16
676 查看
安装Package Control
点击Perference菜单,如果出现Package Control 与Package Settings 两个子菜单,则说明已安装。否则,简单通过以下方法安装:
1、打开命令行(Ctrl + `),在命令行输入
import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen('http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
2、此时点击Perference菜单,如果出现Package Control 与Package Settings 两个子菜单,则说明已安装。若未显示,则重启软件。
安装解决乱码相关的包
1、点击Perference->Package Control (或快捷键 Ctrl + Shift +p),在出现的输入框输入:Install Package。2、在新出现的包搜索框里输入ConvertToUTF8,按Enter 安装。
3、重启软件。或出现Error : codec missing 提示, 按照相同步骤安装codecss包。重启,中文显示正常。
解决中文输入问题
1、终端进入sublime text的安装目录(如/opt/sublime_text),通过sudo gedit sublime_imfix.c命令新建c文件,并在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); }
2、编译c文件,生成sublime-imfix.so文件:
sudo gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
3、使得桌面方式打开的sublime text支持搜狗中文输入:
终端输入:sudo gedit /usr/share/applications/sublime_text.desktop 在打开的文件中,将[Desktop Entry]下的Exec字段注释掉,在注释下方重新定义字段:
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text %F" 又将[Desktop Action Windows]下的Exec字段替换为: Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text -n" 同理替换[Desktop Action Document]下的Exec字段为: Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text --command new_file"
4、使得终端命令打开的sublime text 支持中文输入:
终端打开: sudo gedit /usr/bin/subl
同样替换字段exec为:
LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"
重启终端输入subl 命令打开的sublime text也支持中文输入。
相关文章推荐
- Linux中Sublime_Text3的安装方法以及不能中文输入的问题解决
- [转]解决linux下sqldeveloper 中文环境显示乱码的问题
- Linux 解决中文显示乱码问题
- 解决Linux下中文显示乱码问题
- 【Qt移植到linux】问题7 qt界面无法输入中文,中文不显示,乱码等问题
- SecureCRT连接Linux,终端显示中文乱码问题,全方面解决
- 【Qt移植到linux】问题 qt界面无法输入中文,中文不显示,乱码等问题
- 解决Mac Sublime text 2不能显示中文问题
- 解决Linux中文显示乱码的问题
- [置顶] sublime text linux上中文输入问题的终极解决方案
- linux(ubuntu) sublime-text 适配问题+中文兼容问题解决
- 解决putty终端中显示linux系统中C编程使用curses中文乱码的问题
- 解决linux下php中文显示乱码问题
- [转]解决linux下sqldeveloper 中文环境显示乱码的问题
- 解决ubuntu下用sublime-text2不能输入中文的问题 fcitx
- RedHat Enterprise Linux 5关于 中文显示乱码问题解决
- 解决SSH连接linux中文显示乱码问题
- 解决linux/Ubuntu下Qt creater 界面程序在编译运行后无法显示中文或中文乱码问题!
- 崩溃,source Insight显示linux代码中文注释乱码问题,以及很傻很天真的解决方法
- 解决Ubuntu 14.04 Sublime_Text 中文输入的问题