ubuntu sublime中文输入问题解决办法

ubuntu sublime中文输入问题解决办法

概述:ubuntu下面使用sublime写代码,不能输入中文写注释都比较麻烦,所以就搜了一下如何输入中文。写篇博客记录一下,测试成功。

测试环境

系统:ubuntu 14.04lts

sublime text

安装编译环境

sudo apt-get install build-essential libgtk2.0-dev

编辑文件

1.在主目录下(随意)下创建sublime_imfix.c文件
2.将下面的代码复制到文件下并保存

#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);
}

编译共享库

终端运行下面的命令,需要在sublime_imfix.c文件所在的目录下,会在该目录下产生libsublime-imfix.so文件。

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

复制到sublime安装目录

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

其中/opt/sublime_text为sublime的安装目录。

修改subl文件

sudo gedit /usr/bin/subl//subl命令就是sublime终端启动的命令

将subl文件改为:

#!/bin/sh
SUBLIME_HOME="/opt/sublime_text"
export LD_PRELOAD=$SUBLIME_HOME/libsublime-imfix.so//需要写在exec命令之前生效
exec /opt/sublime_text/sublime_text "$@"//subl命令能打开sublime的原因

修改sublime_text.desktop

sudo vim /usr/share/applications/sublime-text.desktop

修改下面三处启动时的设置:

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/usr/bin/subl %F    #这里修改执行路径为/usr/bin/subl,subl文件刚才已经修改过,大家应该记得
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window]
Name=New Window
Exec=/usr/bin/subl -n    #这里修改执行路径为/usr/bin/subl,subl文件刚才已经修改过,大家应该记得
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=/usr/bin/subl new_file  #这里修改执行路径为/usr/bin/subl,subl文件刚才已经修改过,大家应该记得
OnlyShowIn=Unity;

上面的过程亲测有效。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Ubuntu下sublime中文无法输入的处理方案

    注: 只测试了了fcitx,没有测试ibus 因为不是新手教程,所以安装sublime,fcitx,gcc等等的就不说了 若看不懂请留言 下面为实现过程: copy下列代码,保存为sublime_fix.c 复制代码 代码如下: #include <gtk/gtk.h> #include <gdk/gdkx.h> typedef GdkSegment GdkRegionBox; struct _GdkRegion {     long size;     long numRects

  • ubuntu下使用sublime text时如何完美输入中文

    最近根据使用发现,在ubuntu下,安装sublime Text 3 后,无法使用中文输入的问题. 系统为:ubuntu 64位,安装搜狗输入法linux版 解决方法: 1.下载共享库 点击下载 libsublime-imfix.so 2.下载好库后,进入目录执行: LD_PRELOAD=./libsublime-imfix.so subl 等待sublime text 3 启动后,应该已经可以正常输入中文. 3.为了使用方便,还需要做一下配置 不必每次都输入LD_PRELOAD打开sublim

  • Ubuntu配置sublime text 3的c编译环境的具体步骤

    c语言 选择tool –> Build System –> New Build System 然后输入以下代码 { "shell_cmd": "gcc \"${file}\" -o \"${file_path}/${file_base_name}\" -Wformat=2", "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$&q

  • ubuntu sublime中文输入问题解决办法

    ubuntu sublime中文输入问题解决办法 概述:ubuntu下面使用sublime写代码,不能输入中文写注释都比较麻烦,所以就搜了一下如何输入中文.写篇博客记录一下,测试成功. 测试环境 系统:ubuntu 14.04lts sublime text 安装编译环境 sudo apt-get install build-essential libgtk2.0-dev 编辑文件 1.在主目录下(随意)下创建sublime_imfix.c文件 2.将下面的代码复制到文件下并保存 #includ

  • Docker容器 日志中文乱码问题解决办法

    Docker容器 日志中文乱码问题解决办法 1. 找到dockerfile文件, 如 /use/local/src/Docker/Dockerfile 2. 编辑Dockerfile 添加 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 3. 生成新的镜像文件 docker build -t centos7 . 4. 使用docker images查看新生成的镜像 5. 使用新的镜像启动容器 docker run

  • java中FileOutputStream中文乱码问题解决办法

    java中FileOutputStream中文乱码问题解决办法 使用FileOutputStream序列化可以直接向文件写入文本内容,代码如下: FileOutputStream outStream = new FileOutputStream(file); outStream.write(str.getBytes()); outStream.close(); 但这里的字符串如果包含中文,就会出现乱码,这是因为FileOutputStream是字节流,将文本按字节写入文件,而一个汉字是两个字节,

  • 常见php与mysql中文乱码问题解决办法

    乱码问题1:用PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了?号. 症状:用PHPmyAdmin输入汉字正常,但当PHP网页显示MySQL数据时汉字就变成了?号,并且有多少个汉字就有多少个?号. 原因:没有在PHP网页中用代码告诉MySQL该以什么字符集输出汉字. 解决方法: 1.网页文件head设置编码<meta http-equiv="Content-Type" content="text/html; cha

  • Tomcat服务器图片地址中文路径问题解决办法

    Tomcat服务器中文路径的问题 复制代码 代码如下: < IMG SRC="中文图片.jpg" WIDTH="77" HEIGHT="80" BORDER=0 ALT="" > 或 < a href="中文.jsp">中文文件名< / a> 或 http://127.0.0.1:8080/中文.[扩展名] 通常在以上三种情况下,Tomcat5服务器会报告找不到文件的错误

  • Android Studio控制台出现中文乱码(方框)问题解决办法

    Android Studio控制台出现中文乱码(方框)问题解决办法 最近遇到个恶心的事儿,就使用死丢丢的时候,发现怎么我的控制台输出中文都显示方框???别人都没事,恶心坏我了.经过各种百度,终于找到解决办法,办法也是够恶心的.我们一起来看看吧. 乱码显示结果如下: 解决办法很简单,设置字体为YaHei即可.(可能之前下载的苹果编程字体不支持吧) 修改后结果可以正常显示了 再次简单做个记录, 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • JSP出现中文乱码问题解决方法详解

    在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的JSP中文乱码问题有如下几个方面:页面乱码.参数乱码.表单乱码.源文件乱码.下面来逐一解决其中的乱码问题. 一.JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码. 先看一个JSP程序: <%@ page language="java" import="java.util.*" %> <html> &

  • 关于Ubuntu系统常见问题及解决办法

    目录 一.创建文件夹权限不够 1.1 问题描述 1.2 解决办法 二.Command 'vim' not found... 2.1 问题描述 2.2 解决办法 三.Windows和Ubuntu系统之间相互复制粘贴解决 3.1 问题描述 3.2 解决办法 四.VMware中Ubuntu界面显示过小解决办法 4.1 问题描述 4.2 解决办法 五.Command 'npm' not found... 5.1 问题描述 5.2 解决办法 一.创建文件夹权限不够 1.1 问题描述 使用 mkdir 命令

  • IOS 键盘挡住输入框的问题解决办法

    IOS 键盘挡住输入框的问题解决办法 在iOS开发发现一个问题,有时输入框位于低出时,当编辑输入时,弹出的键盘会挡住输入框,令用户看不清楚实时的输入情况,使界面交互极度不友好. 经过查资料终于解决了这个问题. 解决思路: 1. 输入框监听UIControlEventEditingDidBegin事件,当用户开始输入时,将整个view上移. 2. 输入框监听UIControlEventEditingDidEnd事件,当用户结束输入时,将整个view下移,恢复到原位置. 输入框监听事件: [text

  • jQuery.autocomplete 支持中文输入(firefox)修正方法

    但唯一遗憾的是,在对中文输入法打开时,firefox3.0中是对中文拼音的自动匹配,而对输入后的中文无法及时触发匹配:而在我的IE6.0下,则无此问题. 原因分析: Autocomplete插件对用户输入字符的触发自动匹配是通过"keydown"事件进行的(可分析jquery.autocomplete.js第 92行),在IE6中,当输入法打开时,输入的字符是不会触发"keydown"的,只有中文输入完毕才触发之,所以中文输入和latin文没有区别的:但在firef

随机推荐