CentOS6.5菜鸟之旅:中文编辑器忍痛放弃Sublime
一、前言
Windows下习惯使用Sublime作为编辑器,谁知道Linux下的Sublime是如此不照顾中文用户,找了N久终于找到一个蹩脚的解决方案,于是我毅然决然地加入Vim的阵营。
二、苦苦追寻让Sublime支持中文输入的经过
1. 安装
[a]. 在官网下载二进制压缩包Sublime Text 2.0.2 x64.tar.bz2
[b]. 通过 tar -jxvf Sublime Text 2.0.2 x64.tar.bz2 将压缩包解压到当前目录下
[c]. 通过 mv Sublime Text 2.0.2 x64 /usr/lib/Sublime 将Sublime目录剪切到/usr/lib/Sublime
[d]. 通过 ln -s /usr/lib/Sublime/sublime_text /usr/bin/sublime 建立软链接
2. 启动报错的坑
这时输入sublime来启动程序时,会报如下异常:
g_dbus_connection_real_closed: Remote peer vanished with error: Underlying GIOStream returned 0 bytes on an async read (g-io-error-quark, 0). Exiting.
这是关系到提权的知识了。
su 只能切换到管理员用户权限,不使用管理员的登陆脚本和搜索路径 su - 不但能切换到管理员权限而且使用管理员登陆脚本和搜索路径
明显的特点是,但使用su提权时 #>pwd返回的还是原用户的家目录,而使用su -提权时 #>pwd返回的是root的家目录。
用su - 提权后,在输入sublime启动程序就OK了。
3. 桌面快捷方式
新增一个/usr/share/applications/sublime.desktop文件,然后输入以下内容。
[Desktop Entry] Version=2.0.2 Name=Sublime Text 2 # Only KDE 4 seems to use GenericName, so we reuse the KDE strings. # From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. GenericName=Text Editor Exec=sublime Terminal=false Icon=/opt/Sublime Text 2/Icon/48x48/sublime_text.png Type=Application Categories=TextEditor;IDE;Development X-Ayatana-Desktop-Shortcuts=NewWindow [NewWindow Shortcut Group] Name=New Window Exec=sublime -n TargetEnvironment=Unity
4. 蛋疼的中文输入
[a]. 安装“文泉驿”字体
yum install xfonts-wqy
[b]. 配置"Settings-User"
点击Preferences->Settings-User并加上以下内容
"font_face": "WenQuanYi Micro Hei Mono"
[c]. sublime text 2的插件 InputHelper
cd ~/.config/sublime-text-2/Packages
git clone https://github.com/xgenvn/InputHelper.git
现在在Sublime上按Ctrl+Shift+Z就会打开一个可输入中文的输入框,输入完毕后按Enter就会将中文插入到Sublime所编辑的文档中,蹩脚了吧......
参考:http://www.icultivator.com/p/4935.html
三、总结
总体来说Linux下的Sublime是让我失望的,不过也只能怪自己英语水平不够啦。反正现在打算用Vim作为自己的文本编辑器,后面我会记录Vim的学习历程的!
- zoj 2876 Phone List
- PHP小知识
- Where's Waldorf?
- POj 1797 Heavy Transportation
- 卡特兰数简介原理性质应用参考:
- UVA Machined Surfaces
- NBUT 1117 Kotiya's Incantation
- React第三方组件1(路由管理之Router的使用④按需加载-上)
- React第三方组件1(路由管理之Router的使用③传参)
- Kindergarten Counting Game
- React第三方组件1(路由管理之Router的使用②多层级跳转及重定向)
- 括号配对问题描述输入输出样例输入样例输出解析代码实现运行结果参考链接
- React第三方组件1(路由管理之Router的使用①简单使用)
- POj 2253 Frogger
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 渗透系列之flask框架开启debug模式漏洞分析
- Android之ImageSwitcher的实例详解
- Android中HTTP请求中文乱码解决办法
- Android编程之播放器MediaPlayer实现均衡器效果示例
- Android studio点击跳转WebView详解
- Android webveiw 出现栈错误解决办法
- Android开发之实现手势滑动的功能
- Android编程实现带有单选按钮和复选按钮的dialog功能示例
- Android中Retrofit 2.0直接使用JSON进行数据交互
- Android自定义Drawable实现圆形和圆角
- Android jni调试打印char阵列的实例详解
- 写JavaScript函数不得不知的高级技巧
- Android编程视频播放API之MediaPlayer用法示例
- Android实现点击缩略图放大效果
- Android 应用签名的两种方法