<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tony Bai &#187; PackageControl</title>
	<atom:link href="http://tonybai.com/tag/packagecontrol/feed/" rel="self" type="application/rss+xml" />
	<link>https://tonybai.com</link>
	<description>一个程序员的心路历程</description>
	<lastBuildDate>Mon, 08 Jun 2026 23:32:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Hello，Sublime Text 2</title>
		<link>https://tonybai.com/2013/04/01/hello-sublime-text-2/</link>
		<comments>https://tonybai.com/2013/04/01/hello-sublime-text-2/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 06:58:41 +0000</pubDate>
		<dc:creator>bigwhite</dc:creator>
				<category><![CDATA[技术志]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Codecs26]]></category>
		<category><![CDATA[ConvertToUTF8]]></category>
		<category><![CDATA[Ctags]]></category>
		<category><![CDATA[GCC]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[PackageControl]]></category>
		<category><![CDATA[Programmer]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SublimeText2]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[工作]]></category>
		<category><![CDATA[开源]]></category>
		<category><![CDATA[程序员]]></category>
		<category><![CDATA[编辑器]]></category>

		<guid isPermaLink="false">http://tonybai.com/?p=1238</guid>
		<description><![CDATA[用惯了Vim后，也会有一种尝试新Editor的冲动，这回Sublime Text 2满足了我的这个需求。据说Sublime Text是目前最火的代码编辑器之一，我周围为数不多的几个比较Geek的同事都已经开始使用Sublime Text 2或用了很长时间了，其官方网站首页的Feature Demo也的确非常地炫。 安装Sublime Text 2 我的实验环境Ubuntu 12.04.1 32-bit Desktop版，默认Ubuntu Unity桌面，iBus拼音输入法。 Sublime Text 2的安装极其简单，遵循着download（http://www.sublimetext.com/2） -&#62; unzip -&#62; add path -&#62; start and use的经典路线。我下载的Sublime Text 2是2.0.1版本，启动后一切正常。 安装后目录结构 安装后的Sublime Text 2的目录结构非常简洁： $ ls Icon/ &#160;PackageSetup.py &#160; Pristine Packages/ lib/ &#160; sublime_plugin.py &#160; sublime_text* lib下是自带的Python26环境；Pristine Packages下是各种编程语言的插件包。 在我的环境下Sublime Text 2的用户配置与包环境放在了~/.config/sublime-text-2/下面， $ ls Installed Packages/ &#160;Packages/ [...]]]></description>
			<content:encoded><![CDATA[<p>用惯了<a href="http://tonybai.com/2008/12/30/in-depth-study-vim/">Vim</a>后，也会有一种尝试新Editor的冲动，这回<a href="http://www.sublimetext.com/2">Sublime Text 2</a>满足了我的这个需求。据说Sublime Text是目前最火的代码编辑器之一，我周围为数不多的几个比较Geek的同事都已经开始使用Sublime Text 2或用了很长时间了，其官方网站首页的Feature Demo也的确非常地炫。</p>
<p><strong>安装Sublime Text 2</strong></p>
<p>我的实验环境<a href="http://tonybai.com/2012/12/04/upgrade-ubuntu-to-1204-lts/">Ubuntu 12.04.1</a> 32-bit Desktop版，默认Ubuntu Unity桌面，iBus拼音输入法。</p>
<p>Sublime Text 2的安装极其简单，遵循着download（http://www.sublimetext.com/2） -&gt; unzip -&gt; add path -&gt; start and use的经典路线。我下载的Sublime Text 2是2.0.1版本，启动后一切正常。</p>
<p><strong>安装后目录结构</strong></p>
<p>安装后的Sublime Text 2的目录结构非常简洁：</p>
<p><span style="font-family:courier new,courier,monospace;">$ ls<br />
	Icon/ &nbsp;PackageSetup.py &nbsp; Pristine Packages/<br />
	lib/ &nbsp; sublime_plugin.py &nbsp; sublime_text*</span></p>
<p>lib下是自带的Python26环境；Pristine Packages下是各种编程语言的插件包。</p>
<p>在我的环境下Sublime Text 2的用户配置与包环境放在了~/.config/sublime-text-2/下面，</p>
<p><span style="font-family:courier new,courier,monospace;">$ ls<br />
	Installed Packages/ &nbsp;Packages/ &nbsp;Pristine Packages/ &nbsp;Settings/</span></p>
<p>这里面最重要的目录就是Packages目录了，这里是Sublime Text 2用第三方包扩展自身Feature的包存储路径。</p>
<p><strong>安装package control</strong></p>
<p>package control包之于Sublime Text 2就好比apt工具之于Ubuntu，它是一个方便第三方包安装、卸载和管理的第三方包。在其官网(http://wbond.net/sublime_packages/package_control)上明示了其安装方法：</p>
<p>* 敲入 ctrl + ` 调出命令行窗口<br />
	* 在命令行窗口中输入下面的代码，回车执行。</p>
<p><span style="font-family:courier new,courier,monospace;">import urllib2,os; pf=&#39;Package Control.sublime-package&#39;; ipp=sublime.installed_packages_path(); os. &nbsp; &nbsp; &nbsp; &nbsp;makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2. &nbsp; ProxyHandler())); open(os.path.join(ipp,pf),&#39;wb&#39;).write(urllib2.urlopen(&#39;http://sublime.wbond.net/&#39;+pf.replace(&#39; &#39;,&#39;%20&#39;)).read()); print(&#39;Please restart Sublime Text to finish installation&#39;)</span></p>
<p>* 重启Sublime Text 2。</p>
<p>注意：如果需要代理访问外网的话，需要正确设置<a href="http://tonybai.com/2012/11/21/setup-http-proxy-with-squid/">http_proxy</a>环境变量。</p>
<p>敲入&quot;ctrl + shift + p&quot;可打开命令窗口，输入&quot;Package Control&quot;，你会看到窗口下拉提示中Package Control支持的功能，常用的我们会选择：&ldquo;Package Control: Install Package&rdquo;。</p>
<p><strong>安装中文支持</strong></p>
<p>中国程序员每每在尝试一种国外程序员新开发的编辑器时，都会遇到<a href="http://tonybai.com/2009/09/28/also-talk-about-vim-charset-configuration/">中文字符集编码</a>的问题，这次Sublime Text 2也不例外，它原生就不支持中文显示。还好中国程序员是无比聪明的，开发了<a href="https://github.com/seanliang/ConvertToUTF8">ConvertToUTF8</a>这样的第三方包，让我们可以看到中文并用中文编辑。</p>
<p>最简单的安装ConvertToUTF8的方法就是用Package Control安装，选择Package Control: Install Package后，搜素ConvertToUTF8，找到后，点击即可安装。安装后，你会在~/.config/sublime-text-2/Packages下面看到ConvertToUTF8包目录。</p>
<p>再次启动Sublime Text 2后，打开一个GBK编码的中文文档，居然提示ConvertToUTF8工作不正常。后发现ConvertToUTF8主页上有提示，Python 2.6下的ConvertToUTF8需要一个<a href="https://github.com/seanliang/Codecs26">Codecs26</a>的Package才能正常运行。下载Codecs26后，解压安装到Packages下面，重新启动Sublime Text 2，Sublime Text 2直接dump core。从Packages目录下将Codecs26删除后，Sublime Text 2恢复正常。</p>
<p>又细致读了ConvertToUTF8作者的README文件，发现master branch上的Codecs26是for 64位版本的，我需要下载x32 branch上的包。的确，下载并安装x32 branch上的Codecs26后，Sublime Text 2启动OK，转换中文OK了。</p>
<p>注意：不要与其他支持GBK转换的包（比如GBK Encoding Support）混用，否则ConvertToUTF8无法works。</p>
<p><strong>解决中文输入问题</strong></p>
<p>好不容易能看GBK编码的中文文件了，却发现无法输入中文，无论如何切换输入法和重启输入法，都无法输入中文。网上介绍可通过&quot;Input Helper Package（cd .config/sublime-text-2/Packages; git clone http://github.com/xgenvn/InputHelper.git）&quot;解决问题。问题的确可以解决，不过输入中文时太麻烦了：需要先敲入&quot;ctrl+shift+z&quot;调出中文输入框，再在这个框里输入中文。</p>
<p>网上都说这是iBus输入法与Sublime Text 2的兼容问题，要想解决就要换<a href="http://www.fcitx.org">fcitx</a>。以前用过fcitx感觉默认输入法比较弱，不过现在fcitx有google pinyin了，体验一定会提高不少。通过下面命令一键安装fcitx：</p>
<p><span style="font-family:courier new,courier,monospace;">sudo apt-get install fcitx fcitx-googlepinyin</span></p>
<p>安装后，在&ldquo;语言支持&rdquo;中用fcitx替换掉iBus。在&ldquo;启动应用程序&rdquo;中加入：</p>
<p><span style="font-family:courier new,courier,monospace;">名称: Fcitx<br />
	命令: /usr/bin/fcitx -d<br />
	注释t: Fcitx启动</span></p>
<p>注销再登录后，再打开Sublime Text 2，终于可以输入中文了。</p>
<p><strong>功能</strong></p>
<p>用了一遭儿，Sublime Text 2最吸引我的Feature包括：&ldquo;Goto Anything&rdquo;和&ldquo;Multi-Selection&rdquo;。在一个工程中，通过ctrl + p调出一个输入框，Sublime Text 2首先在文件名级别对你输入的文本进行匹配；待选择好文件后，继续输入@，可看到下拉列表中显示这个文件中所有函数名的名称列表；如果输入的是#，那么下拉列表中将显示该文件中的所有符号。选择某个函数名或符号后，光标将停留在某个符号上，这时我们可以用Multi-Selection这个功能了，如果你要将这个文件中同名符号全选出来，直接Alt+F3即可；如果要选择接下来的N个同名符号，那么敲入N次ctrl + D即可。</p>
<p>不过要想实现<a href="http://tonybai.com/2009/02/23/solve-some-problems-when-using-cscope/">ctags</a>那种在符号上跳转到符号定义或符号调用者的功能，Sublime Text 2还无法原生支持，可考虑安装Sublime Text 2的Ctags插件实现：直接在Packages目录下git clone https://github.com/SublimeText/CTags.git。之后：<br />
	- &ldquo;ctrl +t, ctrl+ r&quot;会重新生成tags文件(前提：系统内安装了ctags程序)<br />
	- &quot;ctrl +t, ctrl + t&quot;会跳到光标所在符号的定义处;<br />
	- &quot;ctrl + t, ctrl + b&quot;会跳回上次的位置;</p>
<p><strong>感受</strong></p>
<p>Sublime Text 2给我的最大感受就是&ldquo;快&rdquo;！你在搜索、切换符号、选择文件列表中文件或符号的同时，整个文件会同步的展现你的屏幕上。</p>
<p style='text-align:left'>&copy; 2013, <a href='https://tonybai.com'>bigwhite</a>. 版权所有. </p>
]]></content:encoded>
			<wfw:commentRss>https://tonybai.com/2013/04/01/hello-sublime-text-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
