<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>zhouchongzxc (周冲)</title>
    <link>https://ruby-china.org/zhouchongzxc</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Emacs 中的补全方式</title>
      <description>&lt;p&gt;使用 emacs 的时间不算很长  了解点 elisp 的皮毛&lt;/p&gt;

&lt;p&gt;写了几行 elisp 的代码  代码的作用就是从一个文本文件中提取用于补全的代码&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/c6418819daa0a1b7da0fba6e4c9a56d1.gif" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;下面附有代码（抱歉 没有测试 没有版本号 没有依赖 没有配置 是 compamy 而不是 auto-complete 在别人的机器上应该运行不了）&lt;/p&gt;</description>
      <author>zhouchongzxc</author>
      <pubDate>Mon, 23 Mar 2015 21:13:27 +0800</pubDate>
      <link>https://ruby-china.org/topics/24799</link>
      <guid>https://ruby-china.org/topics/24799</guid>
    </item>
    <item>
      <title>Emacs 与 Ruby 之 ：测试</title>
      <description>&lt;p&gt;我有个想法 关于测试的&lt;/p&gt;

&lt;p&gt;是否可以将测试与代码合并在一起呢？
（因为在写 elisp 的时候经常这么做的）&lt;/p&gt;

&lt;p&gt;比如可以这样：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;SongList&lt;/span&gt; &lt;span class="c1"&gt;## 你应该能够猜出 AE？是什么意思吧&lt;/span&gt;
  &lt;span class="c1"&gt;##T list = SongList.new  ## 你或许也知道了 ##T 是做什么的&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;initialize&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;    &lt;span class="vi"&gt;@songs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;  &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="c1"&gt;##T list.append("zhou").append("chong")&lt;/span&gt;
  &lt;span class="c1"&gt;##T AE?("zhou",list[0])&lt;/span&gt;
  &lt;span class="c1"&gt;##T AE?("chong",list[1])&lt;/span&gt;
  &lt;span class="c1"&gt;##T AN?(list[2])&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;song&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;     &lt;span class="vi"&gt;@songs.push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;song&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;    &lt;span class="nb"&gt;self&lt;/span&gt;    &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="c1"&gt;##T AE?("zhou",list.delete_first)&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;delete_first&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;    &lt;span class="vi"&gt;@songs.shift&lt;/span&gt;  &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="c1"&gt;##T AE?("chong",list.delete_last)&lt;/span&gt;
  &lt;span class="c1"&gt;##T AN?(list.delete_first)&lt;/span&gt;
  &lt;span class="c1"&gt;##T AN?(list.delete_last)&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;delete_last&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;     &lt;span class="vi"&gt;@songs.pop&lt;/span&gt;  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;看到了一个词：literate programming
可以按照任意的顺序写代码&lt;/p&gt;

&lt;p&gt;应该说 ruby 实现了一小部分的 literate 对测试应该有用&lt;/p&gt;

&lt;p&gt;我会写几行 elisp：提取 ##T 生成 test &lt;/p&gt;

&lt;p&gt;（用 elisp 多一点 如没有标点 请原谅）&lt;/p&gt;</description>
      <author>zhouchongzxc</author>
      <pubDate>Mon, 28 Apr 2014 12:41:53 +0800</pubDate>
      <link>https://ruby-china.org/topics/18893</link>
      <guid>https://ruby-china.org/topics/18893</guid>
    </item>
    <item>
      <title>Emacs 与 Ruby</title>
      <description>&lt;p&gt;1.最常用的应该是执行当前编辑的文件了
&lt;img src="//l.ruby-china.com/photo/2014/fe89469d567aff269d6a1bf02fbae179.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;2.有的时候需要用相同的方式处理多个单词
&lt;img src="//l.ruby-china.com/photo/2014/29b5301dbf2f82a5b95b138a49a72c06.gif" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>zhouchongzxc</author>
      <pubDate>Sun, 27 Apr 2014 13:11:11 +0800</pubDate>
      <link>https://ruby-china.org/topics/18878</link>
      <guid>https://ruby-china.org/topics/18878</guid>
    </item>
    <item>
      <title>Emacs 与 VIM</title>
      <description>&lt;p&gt;主要有两点：
1.我用 elisp 写了个小工具，希望有人能用 vimScript 实现
2.豆瓣上有一个叫 exVim 的插件，我希望有人能用 elisp 实现（和我一起）&lt;/p&gt;

&lt;p&gt;1.我的小工具
只是 snippet 的另一种实现方式：借助于 mongodb 的
我觉得他只是把一些经常会用到的代码放在离你最近的地方&lt;/p&gt;

&lt;p&gt;实现另一种 snippet 并不是我的目的，我想要的是大家可以交换 snippet
如果能交换 snippet，或许会促进点交流什么的。。。。&lt;/p&gt;

&lt;p&gt;比如：C++ STL 中的 map 如何用（可以把 html 中的 example 保存起来）&lt;/p&gt;

&lt;p&gt;参见：&lt;a href="http://www.douban.com/group/topic/49914504/" rel="nofollow" target="_blank"&gt;http://www.douban.com/group/topic/49914504/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.exVim
具体我也不太清楚&lt;/p&gt;

&lt;p&gt;我想他应该是：根据项目，自动加载插件的机制&lt;/p&gt;

&lt;p&gt;觉得他挺有意思的，因为 emacs 的配置能根据 mode 做改变
还不知道根据 project 做改变的（我真的不知道，或许已经有了）&lt;/p&gt;

&lt;p&gt;实现他的意义也许在于给 emacs 加上了项目管理
也许以后就不用修改 dotEmacs 了
也许还可以让 emacs 的学习曲线平缓一点，进而扩大点使用率&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.douban.com/group/topic/18790077/" rel="nofollow" target="_blank"&gt;http://www.douban.com/group/topic/18790077/&lt;/a&gt;&lt;/p&gt;</description>
      <author>zhouchongzxc</author>
      <pubDate>Tue, 08 Apr 2014 12:06:26 +0800</pubDate>
      <link>https://ruby-china.org/topics/18463</link>
      <guid>https://ruby-china.org/topics/18463</guid>
    </item>
  </channel>
</rss>
