<?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>右舷 &#187; tags</title>
	<atom:link href="http://www.laihj.net/tag/tags/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.laihj.net</link>
	<description>list(linux,emacs,旅行,读书,andriod,MacOS,iOS)</description>
	<lastBuildDate>Tue, 27 Dec 2011 12:54:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Emacs的orgmode [tags］</title>
		<link>http://www.laihj.net/2010/01/emacs-orgmode-tags/</link>
		<comments>http://www.laihj.net/2010/01/emacs-orgmode-tags/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 02:01:58 +0000</pubDate>
		<dc:creator>laihj</dc:creator>
				<category><![CDATA[利其器]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[orgmode]]></category>
		<category><![CDATA[tags]]></category>

		<guid isPermaLink="false">http://www.laihj.net/?p=650083</guid>
		<description><![CDATA[tags

标签(tags)在管理东西方面有很多应用。比如blog,flickr,前阵子还在小众软件上看到用标签管理文件的软件。

本身，我们在做org管理文件的时候就已经把不同的东西放在不同文件里了。比如我们建了home.org,work.org两个文件，把在家的工作做在home.org里，把公司的放在work.org里面。
但这种用文件来分类的方法有不便的地方：其一，如果我想到一个新的分类，那就必须新建一个文件；其二，如果我有一个工作同时属于两个文件，怎么办？
于是,tags来了。
tags只做一件事：标记这个项目是什么？它的展示样式是这样的
TODO 跟特留尼西特握手                    :苦差:薪水:逃不掉:
你可以按C-c C-c组合键，这里在mini buffer（就是下面的小框)会出现&#8221;Tags:&#8221;，等待你输入标签，支持中英文。
就是这么简单。
tags的继承
如前所述，本来我们的想法是用文件来进行不同的分类的，也就是说实际上文件就是一种分类，放在work.org中的项目本来就应该拥有work属性，我不想在每一个项目上添一个:work:的蛇足。
这就得说到tags继承的org特性了。

如图，叶项目“新门”本身有一个属性&#8221;苦差&#8221;，同时它继续了两个属性，一个来自它的父项目apartment，还有一个来自文件属件work。给一个文件设置属性，需要在文件头加上一行。
更简单的方法

如果有一些常用的标签不想每次都敲。可以使用orgmode的标签快捷键功能.比如你可以用k来代表苦差，用s来代表薪水。跟很多org设置一样，可以在两个地方完成这些设置。


一个是.emacs文件。它的语法是这样的。

(setq org-tag-alist '(("苦差" . ?k)
                            [...]]]></description>
			<content:encoded><![CDATA[<h3>tags</h3>
<p>
标签(tags)在管理东西方面有很多应用。比如blog,flickr,前阵子还在小众软件上看到用标签管理文件的软件。
</p>
<p>本身，我们在做org管理文件的时候就已经把不同的东西放在不同文件里了。比如我们建了home.org,work.org两个文件，把在家的工作做在home.org里，把公司的放在work.org里面。</p>
<p>但这种用文件来分类的方法有不便的地方：其一，如果我想到一个新的分类，那就必须新建一个文件；其二，如果我有一个工作同时属于两个文件，怎么办？</p>
<p>于是,tags来了。</p>
<p>tags只做一件事：标记这个项目是什么？它的展示样式是这样的</p>
<pre class="css">TODO 跟特留尼西特握手                    :苦差:薪水:逃不掉:</pre>
<p>你可以按C-c C-c组合键，这里在mini buffer（就是下面的小框)会出现&#8221;Tags:&#8221;，等待你输入标签，支持中英文。</p>
<p>就是这么简单。</p>
<h3>tags的继承</h3>
<p>如前所述，本来我们的想法是用文件来进行不同的分类的，也就是说实际上文件就是一种分类，放在work.org中的项目本来就应该拥有work属性，我不想在每一个项目上添一个:work:的蛇足。</p>
<p>这就得说到tags继承的org特性了。</p>
<p><img class="alignnone size-full wp-image-650090" title="tagsin" src="http://www.laihj.net/wp-content/uploads/2010/01/tagsin.png" alt="tagsin" width="525" height="334" /></p>
<p>如图，叶项目“新门”本身有一个属性&#8221;苦差&#8221;，同时它继续了两个属性，一个来自它的父项目apartment，还有一个来自文件属件work。给一个文件设置属性，需要在文件头加上一行。</p>
<h3>更简单的方法</h3>
<p>
如果有一些常用的标签不想每次都敲。可以使用orgmode的标签快捷键功能.比如你可以用k来代表苦差，用s来代表薪水。跟很多org设置一样，可以在两个地方完成这些设置。
</p>
<p>
一个是.emacs文件。它的语法是这样的。
</p>
<pre>(setq org-tag-alist '(("苦差" . ?k)
                            ("薪水" . ?s)))</pre>
<p>
还有一种做法是在文件的头部加声明。类似这样:
</p>
<pre>
#+FILETAGS: :work:
</pre>
<p>
它们的分别在于，前者对于本机所有的org文件都有效。后者刚只对当前文件有效。
</p>
<p>
这时再给一个项目加标签就会变成这样</p>
<p><img class="alignnone size-full wp-image-650088" title="tagsshortcut" src="http://www.laihj.net/wp-content/uploads/2010/01/tagsshortcut.png" alt="tagsshortcut" width="521" height="316" /></p>
<p>敲相应的快捷键就可以了。</p>
<h3>搜索查看tags</h3>
<p>使用tags来给项目打标签当然不是为了打打好看而已。我们是要用的。最常用的用法就是用tags来表示context的概念。</p>
<p>江湖传言把事情分类来做能提高工作效率。即是说，如果你有十个电话要打，十个email要回。最好不要打一个电话回一封email再打一个电话再回一封email，比较好的做法是先打十个电话，然后再连回十个email。还有一个秘笈，是威尔史密斯在＜当幸福来敲门＞里面教给我们的，如果你不把话筒放下来，能节约很多打电话的时间。</p>
<p>这就需要我们能够把十个电话项目都取出来，在文件里面一个一个找:phone:标签？别傻了。敲一个C-c a吧,然后再敲m，下方的mini buffer里出现了几个大字&#8221;MATCH:&#8221;，这里输入&#8221;phone&#8221;，回车。你的列表中所有文件里的带有phone标签或者属性的项目就都列出来了。不想要所有项目，只想看TODO?简单，C-c a后不要加m,加个M吧。</p>
<p>输入关键词的时候还可以使用与或非运算，算符如下：phone&amp;work，同时有两个标签的。phone|work，有两个标签之一的。phone-work有phone标签而没有work标签的。</p>
<p>这里,C-c a表示你要求调出agenda view，后面那个命令则指明你想要调出什么样的view。敲后C-c a之后，不要急着敲m，可以看看org都提供了哪些view，我们熟知的有C-c a a,C-c a t等。</p>
<h3>不要每次都输关键字</h3>
<p>这样看起来，C-a a a也是一种检索，只不过它们是org-mode内置而已，那我也有一些数据视图是经常要用的，有一些是没事就搜一下的。我也要敲三个键就弄出来，不想每次都敲tags。</p>
<p>嘿嘿，改源码把我自己的搜索置进去。倒是不用着急，读代码总是麻烦的。事实上org-mode已经开放了一个自定义view的接口。唤作org-agenda-custom-commands。可以在.emacs文件中设置自己的。</p>
<pre class="css">(setq org-agenda-custom-commands
'(("k" "work haha"
((agenda "")
(tags-todo "work")
(tags-todo "支持")))))</pre>
<p>这段代码表示您定了一个可以用C-c a k 调出来的view,它的描述是&#8221;work haha&#8221;，view中包含三段数据。最上面是agenda，就是调C-c a a出来的界面，然后一个分隔行，列出tags为“work”的项目，再一个分隔行，列出tags为支持的项目。</p>
<p><img class="alignnone size-full wp-image-650089" title="caak" src="http://www.laihj.net/wp-content/uploads/2010/01/caak.png" alt="caak" width="497" height="442" /></p>
<p>官方的说法是提供了一个GUI界面，M-x customize-variable RET org-agenda-custom-commands可以打开。界面如下：</p>
<p><img class="alignnone size-full wp-image-650085" title="GUIconfig" src="http://www.laihj.net/wp-content/uploads/2010/01/GUIconfig.png" alt="GUIconfig" width="629" height="444" /></p>
<p>但我个人还是喜欢使用.emacs文件手写配置。不是我装13，而是GUI界面设计得实在太难用了，我到现在也没弄明白它的用法。</p>
<h3>Related Posts</h3><ul><li><a href="http://www.laihj.net/2010/01/emacs-orgmode-remember/" title="Emacs的orgmode [remember] 2010.01.20">Emacs的orgmode [remember]</a>(4)</li>
<li><a href="http://www.laihj.net/2010/01/emacs-orgmode-archieved/" title="Emacs的orgmode [归档］ 2010.01.2">Emacs的orgmode [归档］</a>(1)</li>
<li><a href="http://www.laihj.net/2009/12/emacs%e7%9a%84org-mode-agenda-view/" title="Emacs的org-mode [agenda view] 2009.12.29">Emacs的org-mode [agenda view]</a>(0)</li>
<li><a href="http://www.laihj.net/2009/12/emacs%e7%9a%84org-mode-%e6%97%a5%e6%9c%9f%e4%b8%8e%e6%97%b6%e9%97%b4/" title="Emacs的org-mode [日期与时间] 2009.12.26">Emacs的org-mode [日期与时间]</a>(1)</li>
<li><a href="http://www.laihj.net/2009/12/emacs%e7%9a%84org-mode%ef%bc%bbtodo%ef%bc%bd/" title="Emacs的org-mode［TODO］ 2009.12.25">Emacs的org-mode［TODO］</a>(0)</li>
<li><a href="http://www.laihj.net/2009/12/emacs%e7%9a%84org-mode%ef%bc%bb%e5%88%9d%e6%8e%a2%ef%bc%bd/" title="Emacs的org-mode［初探］ 2009.12.24">Emacs的org-mode［初探］</a>(6)</li>
<li><a href="http://www.laihj.net/2010/03/editors-learning-curves/" title="编辑器的学习曲线 2010.03.3">编辑器的学习曲线</a>(0)</li>
<li><a href="http://www.laihj.net/2010/02/execute-compile-current-file/" title="[elisp]用elisp编译解释当前的buffer 2010.02.12">[elisp]用elisp编译解释当前的buffer</a>(0)</li>
<li><a href="http://www.laihj.net/2010/02/elisp-emacs-editing-basics/" title="[elisp]针对Emacs中文本编辑的编程简介 2010.02.3">[elisp]针对Emacs中文本编辑的编程简介</a>(0)</li>
<li><a href="http://www.laihj.net/2010/01/elipsemacslisp-basi/" title="[elisp]EmacsLisp 基础 2010.01.31">[elisp]EmacsLisp 基础</a>(0)</li>
</ul><h3>Recent Comments</h3><ul></ul>]]></content:encoded>
			<wfw:commentRss>http://www.laihj.net/2010/01/emacs-orgmode-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

