分享Linux下完美的Sublime Text解决方案

在linux下使用Sublime,最棘手的问题就是中文输入法的支持太差,我这里找到了一款已经被打好中文输入补丁的Sublime,在这里分享给大家:

【Sublime Text 3065中文64位】

我分析了一下Sublime的中文补丁的用法,首先是Sublime开发团队发布的多语言补丁,可以编译为.so文件,然后使用linux下的LD_PRELOAD环境变量,将整个so文件预加载到sublime进程空间中。

LD_PRELOAD=/usr/lib/sublime_text_3/sublime_text_fcitx.so sublime_text_3

但我发现这带来了一个严重的bug,中文输入是可以了,但所有的子进程都无法执行,我们知道,Sublime的强大功能是和shell结合的,如果无法使用子进程,那Sublime也就几乎处于残废状态。

解决方法一开始我也没想到,我以为是进程空间的问题,我尽可能尝试找类似LD_PERLOAD功能,但仅对当前进程空间有效的补丁方法,但一直没有找到,但有一次,我将Sublime的启动脚本改成了这样:

cd /usr/lib/sublime_text_3/
LD_PRELOAD=./sublime_text_fcitx.so sublime_text_3

居然就能用了!我忽然发现,问题考虑错了,和进程空间没关系,LD_PERLOAD作为环境变量,会传递给子进程,那么解决方法也简单,在Sublime启动后,修改环境变量就可以了!

于是我写了个小插件:

# fix.py
import os
os.environ[‘LD_PRELOAD‘] = ‘‘

好,问题解决,我把这小段代码也打包在原来的sublime安装包中了,这回sublime终于完美运行了。

时间: 2024-10-07 10:43:14

分享Linux下完美的Sublime Text解决方案的相关文章

Linux下完美使用find+grep实现全局代码搜索

作者:zhanhailiang 日期:2014-10-11 背景 在Window下有大量方便的图形化工具可以实现全局搜索,但是Linux服务器中由于使用命令行操作导致全局搜索是一个比较高的门槛. 第一种方法 首先,举个最简单的例子,在阅读代码过程中我们经常需要查看某个函数的定义,但是一般开源项目代码规模都相当庞大,此时你就可以如下使用find+grep轻松查找到该函数的定义,譬如,我想在php源码中搜索is_array方法的定义,如下: [[email protected] standard]#

Windows下TeX Live + Sublime Text 3 + Sumatra PDF配置

本文写给我的师弟们,如何自己动手配置LaTeX环境(通过LeX Live + Sublime Text 3 + Sumatra PDF). 1.TeX Live 配置 首先从TeX Live 下载ISO镜像.这里不推荐在线安装的方式,即「installing TeX Live over the Internet」的方式,原因是中国的网络不好.网站给出了3种镜像下载的方式,分别为 1.download from a nearby CTAN mirror: 2.manually choose a m

【分享】个人开发环境Sublime Text配置

作者:zhanhailiang 日期:2014-11-21 Sublime Text设置(perfernces > Settings - User) { // 使用tab来实现自动完成 "auto_complete_commit_on_tab": true, // 使用颜色主题 "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme", // 默认以unix行结束符(

kali linux 2.0安装sublime text 2

参考原文: http://www.codeproject.com/Articles/582849/InstallingplusSublimeplusTextplus-plusonplusLinuxp 第一种方法: Download the Sublime Text 2 & Extract it: 32位: $ wget http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1.tar.bz2 tar vxjf "Sublime T

linux问题-Centos 安装Sublime text 3

Centos大多数情况下是用来做服务器的,但是由于各种原因我现在要用Centos做开发机,所以当然要安装开发神奇Sublime textle. 注意:安装目录因人而异,我的安装目录是/opt/sublime_text_3. 一.建立软件安装目录(我一般把软件安装在opt目录下) # mkdir /opt # cd /opt 二.下载软件 http://www.sublimetext.com/3注意一定要下Ubuntu/tarball包.也可以用命令下载 wget http://c758482.r

Guake Terminal ── linux下完美帅气的终端

虽说现在很多Linux发行版,比如Ubuntu,已经基本上可以采用GUI来完成绝大部分一般性的任务.但是,终端程序对于linux用户来说仍是必不可少的. Gnome自带的gnome-terminal还算不错,简单,易用,也已经支持多标签.但是,如果你希望让终端自动启动并在后台运行,如果你喜欢更快速地隐藏和显示终端,如果你更习惯使用快捷键,那么Guake 绝对是一个更好的选择. 前面有一篇文章(http://blog.csdn.net/u013634961/article/details/3953

夺命雷公狗---linux NO:35 linux下的mysql密码忘记解决方案

如果密码忘记了,我们直接来杀掉进程.. 这是一个典型密码错误的报错.. 那么我们直接使用pkill来干掉他的进程.. 然后来检查检查: 已经成功的干掉了.然后就开始 启动mysql: ./mysqld --skip-grant-table 回车如下所示: 别ctrl + c  噢,否则他会被关掉的.直接从新打开多一个窗口,如下所示: 直接启动mysql即不用密码就进来了... use mysql 数据库,修改 users 表, authencation_string 字段. 然后在里面寻找到 u

LINUX下误删除、格式化恢复解决方案

一.总述:基于linux系统,删除数据及格式化后的数据恢复方案 1 .基于EXT2/EXT3/EXT4文件系统 2 .基于Reiserfs文件系统3 .基于Xfs文件系统 二.解决方案 2.1 恢复流程 2.1.1 检测流程 1.检测是否存在硬件故障,如硬件故障,转硬件处理 2.以只读方式检测故障表现是否与用户描述相同 2.1.2 恢复流程 1.备份:以只读方式对故障磁盘做完整镜像(参考附录) 2.如果需要恢复完整目录结构,则先需要完整恢复已丢失文件节点,再恢复数据.如果节点无法恢复,则可按文件

linux下mysql忘记root密码解决方案

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态.最安全的状态是到服务器的Console上面操作,并且拔掉网线. 2.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:sk