广告
返回顶部
首页 > 资讯 > 操作系统 >Linux 下 Sublime Text 中文输入问题的如何解决
  • 530
分享到

Linux 下 Sublime Text 中文输入问题的如何解决

2023-06-13 02:06:17 530人浏览 独家记忆
摘要

这篇文章主要介绍“linux 下 Sublime Text 中文输入问题的如何解决”,在日常操作中,相信很多人在Linux 下 Sublime Text 中文输入问题的如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希

这篇文章主要介绍“linux 下 Sublime Text 中文输入问题的如何解决”,在日常操作中,相信很多人在Linux 下 Sublime Text 中文输入问题的如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux 下 Sublime Text 中文输入问题的如何解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.保存下面的代码为sublime_imfix.c

代码如下:


#include <gtk/gtk.h>
#include <gdk/gdkx.h>
typedef GdkSegment GdkRegionBox;

struct _GdkRegion
{
 long size;
 long numRects;
 GdkRegionBox *rects;
 GdkRegionBox extents;
};

GtkIMContext *local_context;

void
gdk_region_get_clipbox (const GdkRegion *region,
           GdkRectangle    *rectangle)
{
 g_return_if_fail (region != NULL);
 g_return_if_fail (rectangle != NULL);

 rectangle->x = region->extents.x1;
 rectangle->y = region->extents.y1;
 rectangle->width = region->extents.x2 - region->extents.x1;
 rectangle->height = region->extents.y2 - region->extents.y1;
 GdkRectangle rect;
 rect.x = rectangle->x;
 rect.y = rectangle->y;
 rect.width = 0;
 rect.height = rectangle->height;
 //The caret width is 2;
 //Maybe sometimes we will make a mistake, but for most of the time, it should be the caret.
 if(rectangle->width == 2 && GTK_IS_IM_CONTEXT(local_context)) {
       gtk_im_context_set_cursor_location(local_context, rectangle);
 }
}

//this is needed, for example, if you input something in file dialog and return back the edit area
//context will lost, so here we set it again.

static GdkFilterReturn event_filter (GdkXEvent *xevent, GdkEvent *event, gpointer im_context)
{
   XEvent *xev = (XEvent *)xevent;
   if(xev->type == KeyRelease && GTK_IS_IM_CONTEXT(im_context)) {
      GdkWindow * win = g_object_get_data(G_OBJECT(im_context),"window");
      if(GDK_IS_WINDOW(win))
        gtk_im_context_set_client_window(im_context, win);
   }
   return GDK_FILTER_CONTINUE;
}

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

 if(!GDK_IS_WINDOW (window))
   return;
 g_object_set_data(G_OBJECT(context),"window",window);
 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);
   local_context = context;
 }
 gdk_window_add_filter (window, event_filter, context);
}

2.编译动态库:

代码如下:

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

3. 设置 LD_PRELOAD 并启动 Sublime Text:

代码如下:

LD_PRELOAD=./libsublime-imfix.so sublime_text

为了不用每次启动Sublime Text都打这么一长串东西,写了个启动Sublime的脚本:

代码如下:

#!/bin/bash

SUBLIME_HOME="/opt/sublime_text"
LD_LIB=$SUBLIME_HOME/libsublime-imfix.so
sh -c "LD_PRELOAD=$LD_LIB $SUBLIME_HOME/sublime_text $@"

把libsublime-imfix.so放到Sublime Text目录下并修改脚本中的SUBLIME_HOME,这样Sublime Text 就可以输入中文啦。

到此,关于“Linux 下 Sublime Text 中文输入问题的如何解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Linux 下 Sublime Text 中文输入问题的如何解决

本文链接: https://www.lsjlt.com/news/264610.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux 下 Sublime Text 中文输入问题的如何解决
    这篇文章主要介绍“Linux 下 Sublime Text 中文输入问题的如何解决”,在日常操作中,相信很多人在Linux 下 Sublime Text 中文输入问题的如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-06-13
  • Ubuntu14.4下Sublime Text 3无法输入中文的解决方法
    这篇文章主要介绍“Ubuntu14.4下Sublime Text 3无法输入中文的解决方法”,在日常操作中,相信很多人在Ubuntu14.4下Sublime Text 3无法输入中文的解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好...
    99+
    2023-06-13
  • ubuntu sublime中文输入问题解决办法
    ubuntu sublime中文输入问题解决办法 概述:ubuntu下面使用sublime写代码,不能输入中文写注释都比较麻烦,所以就搜了一下如何输入中文。写篇博客记录一下,测试成功。 测试环境 系统:...
    99+
    2022-06-04
    解决办法 中文输入 ubuntu
  • Ubuntu下Sublime Text无法输入中文最简单的解决方案
    Sublime Sublime Text 是一个代码编辑器(Sublime Text2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Sublime Text是由程序员Jon Skinner于2008...
    99+
    2022-06-04
    ubuntu sublime text ubuntu 下sublime text无法输入中文 sublime text无法输入中文的解决方案
  • 快速解决linux下中文输入法问题
    故事背景:最近在做资产上报相关功能,要支持中文输入,如果正常快捷方式启动程序没问题,但是升级或者卸载重新安装,自启的时候是使用su usr -C XX.sh启动,root下启动没办法获取用户的环境变量,下面开始咱们探险之...
    99+
    2022-06-04
    linux中文输入法 linux输入法
  • Ubuntu12.04下如何解决无法使用中文输入法的问题
    这篇文章主要介绍“Ubuntu12.04下如何解决无法使用中文输入法的问题”,在日常操作中,相信很多人在Ubuntu12.04下如何解决无法使用中文输入法的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”U...
    99+
    2023-06-13
  • css如何解决文字和text-decoration:underline下划线重叠问题
    这篇文章给大家分享的是有关css如何解决文字和text-decoration:underline下划线重叠问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、text-deco...
    99+
    2022-10-19
  • 解决MySQL无法输入中文字符的问题
    文章目录 问题描述问题排查解决方案1️⃣创建数据库时设置字符集为utf82️⃣修改数据库配置文件【比较麻烦】 写在最后 前几日在使用MySQL数据库的时候,出现了一处保存,故作此记录✍ 问题描述 下面是我这样exa...
    99+
    2023-08-16
    数据库 mysql sql
  • 解决Linux下Tomcat向MySQL插入数据中文乱码问题
    一、问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二、解决办法 1、尝试一 直接在linux上面使用in...
    99+
    2022-10-18
  • linux中文输入法打不出中文如何解决
    在 Linux 中,可以通过以下方式解决无法输入中文的问题:1. 安装中文输入法:许多 Linux 发行版都有预装了一些中文输入法,...
    99+
    2023-09-05
    linux
  • Linux下如何解决日志文件过大的问题
    这篇文章主要介绍Linux下如何解决日志文件过大的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如何让应用程序在后台执行:linux后台执行命令:&与nohup的用法通过以上方法,应用程序的日志会一直输出...
    99+
    2023-06-15
  • 如何解决win10系统输入文件就死机的问题
    小编给大家分享一下如何解决win10系统输入文件就死机的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!解决方法/步骤:打开电脑中的设备管理器,直接展开键盘选项...
    99+
    2023-06-27
  • MySQL命令无法输入中文问题的解决方式
    发现问题 近期通过 mysql 命令连接 mysql server 的时候, 出现了不能输入中文的现象, 如下所示: mysql> SELECT 'Chinese char...
    99+
    2022-11-12
  • 如何解决linux下mysql乱码的问题
    小编给大家分享一下如何解决linux下mysql乱码的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!项目进行到和服务器交互,...
    99+
    2022-10-18
  • 如何解决Ubuntu系统下zend for linux中文乱码问题
    这篇文章主要讲解了“如何解决Ubuntu系统下zend for linux中文乱码问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决Ubuntu系统下zend for linux中文...
    99+
    2023-06-13
  • 解决linux下openoffice word文件转PDF中文乱码的问题
    网上很多介绍是由于jdk中的没有字体导致乱码,而我遇到的是转换过程并未报错,但转换后的PDF中是乱码,尝试在jre/lib/fonts/中增加字体,还是不能解决问题,因此可以判断非jre字体问题,是linu...
    99+
    2022-06-04
    乱码 中文 文件
  • Linux下如何解决SSH拒绝访问的问题
    小编给大家分享一下Linux下如何解决SSH拒绝访问的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!有时在我们使用 SSH 连接可能会出现Access den...
    99+
    2023-06-28
  • 如何解决win7中输入法图标不见的问题
    不知道怎么回事输入法图标在系统任务栏就看不见了,这种情况有时重启下电脑就好,当然有时重启电脑是不管用的,现在就来说说WIN7系统中输入法图标不见了的解决方法:1、点开始--控制面板 2、打开控制面板窗口后,点击&ldqu...
    99+
    2023-06-05
    win7 输入法 图标 win7中输入法图标 问题
  • 如何解决xp系统文字输入法不可切换的问题
    这篇文章主要讲解了“如何解决xp系统文字输入法不可切换的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决xp系统文字输入法不可切换的问题”吧!  Windows XP中,输入法图标...
    99+
    2023-06-13
  • Linux下MP3的TAG乱码问题如何解决
    本篇内容主要讲解“Linux下MP3的TAG乱码问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下MP3的TAG乱码问题如何解决”吧!代码如下:sudo apt-get in...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作