热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu安装“SublimeText3”,并解决SublimeText3中无法输入中文的问题

一、“SublimeText3”的安装1.官网下载程序解压到自己的软件目录下(比如~Software)2.进入sublimetext目录中&#x

一、“Sublime Text 3”的安装


1. 官网下载程序解压到自己的软件目录下(比如"~/Software")


2. 进入sublimetext目录中,即可运行:

$ cd ~/Software/sublime_text_3
$ ./sublime_text

3. 配置全局运行

创建“/usr/bin/subl”文件,文件内容如下:

#!/bin/sh
exec ~/Software/sublime_text_3/sublime_text "$@"

进入 /usr/bin 目录下赋予 subl 文件可执行的权限:

$ cd /usr/bin
$ sudo chmod +x subl

这样在任何目录下执行 subl 都可以运行Sublime Text了


二、解决Sublime Text 3中无法输入中文的问题


1. 安装“搜狗输入法 for linux”

请参考:Ubuntu安装“搜狗输入法 for linux”


2. 创建文件“~/sublime_imfix.c”,文件内容如下:

#include
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. 生成共享库,执行如下命令:

$ sudo apt-get install libgtk2.0-dev
$ cd ~
$ gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
$ sudo mv libsublime-imfix.so ~/Software/sublime_text_3/

4. 修改文件“/usr/bin/subl”,内容如下:

#!/bin/sh
LD_PRELOAD=~/Software/sublime_text_3/libsublime-imfix.so exec ~/Software/sublime_text_3/sublime_text "$@"

此时输入 subl 打开的Sublime Text已经可以输入中文了。若想使鼠标右键打开文件时能够支持中文输入,还需要下一步的修改。


5. 修改文件“~/Software/sublime_text_3/sublime_text.desktop”:

将[Desktop Entry]中的字符串Exec=~/Software/sublime_text_3/sublime_text %F修改为
Exec=bash -c "LD_PRELOAD=~/Software/sublime_text_3/libsublime-imfix.so exec ~/Software/sublime_text_3/sublime_text %F"

将[Desktop Action Window]中的字符串Exec=~/Software/sublime_text_3/sublime_text -n修改为
Exec=bash -c "LD_PRELOAD=~/Software/sublime_text_3/libsublime-imfix.so exec ~/Software/sublime_text_3/sublime_text -n"

将[Desktop Action Document]中的字符串Exec=~/Software/sublime_text_3/sublime_text --command new_file修改为
Exec=bash -c "LD_PRELOAD=~/Software/sublime_text_3/libsublime-imfix.so exec ~/Software/sublime_text_3/sublime_text --command new_file"

ALL DONE!

文章参考:Ubuntu 16.04 下 Sublime Text 3 的安装和中文配置


推荐阅读
  • GCC(GNU Compiler Collection)是GNU项目下的一款功能全面且高效的多平台编译工具,广泛应用于Linux操作系统中。本文将详细介绍GCC的特点及其基本使用方法。 ... [详细]
  • Activity跳转动画 无缝衔接
    Activity跳转动画 无缝衔接 ... [详细]
  • 在使用Visual Studio构建项目时遇到了IntelliSense错误,具体表现为预期的')'未找到。本文提供了详细的解决方案和可能的原因分析。 ... [详细]
  • 设计模式系列-原型模式
    一、上篇回顾上篇创建者模式中,我们主要讲述了创建者的几类实现方案,和创建者模式的应用的场景和特点,创建者模式适合创建复杂的对象,并且这些对象的每个组成部分的详细创建步骤可以是动态的变化的,但 ... [详细]
  • MVC框架下使用DataGrid实现时间筛选与枚举填充
    本文介绍如何在ASP.NET MVC项目中利用DataGrid组件增强搜索功能,具体包括使用jQuery UI的DatePicker插件添加时间筛选条件,并通过枚举数据填充下拉列表。 ... [详细]
  • SQLite是一种轻量级的关系型数据库管理系统,尽管体积小巧,却能支持高达2TB的数据库容量,每个数据库以单个文件形式存储。本文将详细介绍SQLite在Android开发中的应用,包括其数据存储机制、事务处理方式及数据类型的动态特性。 ... [详细]
  • 字符、字符串和文本的处理之Char类型
    .NetFramework中处理字符和字符串的主要有以下这么几个类:(1)、System.Char类一基础字符串处理类(2)、System.String类一处理不可变的字符串(一经 ... [详细]
  • 本文介绍了如何在React Native应用中获取组件的实际宽度和高度,并详细说明了屏幕单位(如dp)与像素(px)之间的转换方法。 ... [详细]
  • 抽象工厂模式 c++
    抽象工厂模式包含如下角色:AbstractFactory:抽象工厂ConcreteFactory:具体工厂AbstractProduct:抽象产品Product:具体产品https ... [详细]
  • 微信小程序支付官方参数小程序中代码后端发起支付代码支付回调官方参数文档地址:https:developers.weixin.qq.comminiprogramdeva ... [详细]
  • 本文主要解决了在编译CM10.2时出现的关于Samsung Exynos 4 HDMI HAL库中SecHdmiV4L2Utils.cpp文件的编译错误。 ... [详细]
  • 转自:http:blog.sina.com.cnsblog_67419c420100vmkt.html 1.为什么要使用blocks将一个blocks作为函数或者方法的参数传递,可 ... [详细]
  • 本文探讨了 Boost 库中的 Program Options 组件,这是一个强大的工具,用于解析命令行参数和配置文件。文章介绍了如何正确设置和使用该组件,包括处理复杂选项和负数值的方法。 ... [详细]
  • 本文详细介绍了如何使用 Python 编程语言中的 Scapy 库执行 DNS 欺骗攻击,包括必要的软件安装、攻击流程及代码示例。 ... [详细]
  • .babelrc是用来设置转码规则和插件的,这种文件在window上无法直接创建,也无法在HBuilder中创建,甚至无法查看,但可以在sublimetext中创建、查看并编辑。当 ... [详细]
author-avatar
wangtao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有