<org manual>翻译--2.7 纯文本列表

来源:互联网 发布:道长脸型数据 编辑:程序博客网 时间:2024/04/30 22:18
2.7 纯文本列表 :条目中的附加结构
在大纲树的正文内容中,手工排列好的列表被认为是带有一定结构的. Org提供了一种方式来创建带复选框的列表(参见复选框),它提供工具来编辑这种列表,并且在导出时(参见章节导出)能够解析并且格式化这些列表.
Org支持有序列表,无序列表和描述列表
  • 无序列表,以'-','+'或者'*'12开头
  • 有序列表以数字开头,后接句号或者右括13(像这样'1.','1)')14. 如果你想让列表以其他值作为初始值开始计数,需要以类似[@20]这样的文本开头15. 这样的用法可以用在列表的任何一项上(而不需要仅仅是第一项),以强制从指定数字顺序开始.
  • 描述列表是一种无序列表,它包含'::'作为分隔符来分割术语和描述.

同一个列表中的列表项必须有相同的缩进. 尤其当一个有序列表的计数达到了'10'的时候,那么这两位的计数必须与列表中的其他计数左对齐. (一个列表项可以是多行的.)当一个列表项的下一行的缩进与该列表项本身的缩进相等甚至跟少时,才表示该列表项结束了.

当所有的列表项结束时,一个列表才被认为是结束了的,这意味在有一行的缩进等于或者小于列表第一项的缩进前,该列表都没有结束. 当然,你也可以用两个空白行16来强制结束列表. 这种情况下,所有的列表项都被关闭了.下面是一个例子.

** Lord of the Rings   My favorite scenes are (in this order)   1. The attack of the Rohirrim   2. Eowyn's fight with the witch king      + this was already my favorite scene in the book      + I really like Miranda Otto.   3. Peter Jackson being shot by Legolas      - on DVD only      He makes a really funny face when it happens.   But in the end, no individual scenes matter but the film as a whole.   Important actors in this film are:   - Elijah Wood :: He plays Frodo   - Sean Austin :: He plays Sam, Frodo's friend.  I still remember     him very well from his role as Mikey Walsh in The Goonies.   

Org能正确地对这些列表进行filling和warpping调整17, 而且能够以一种恰当的方式导出这些列表(参见导出). 由于缩进决定了这些列表的结构,许多像#+BEGIN…这样的block可以通过缩进来表明它们是属于哪一个列表项的一部分的.

如果你觉得为子列表使用不同的标示(而不使用当前列表项的标示)可以增加可读性,你可以自定义变量'org-list-demote-modify-bullet'. 如果你想改变缩进程度,自定义变量'org-list-indent-offset'

当光标处于某列表项的第一行(即带有列表项标示的那一行),可以用下面这些命令来对列表项进行操作. 其中有些命令暗含某些规则来保证列表结构是正确的. 如果你想让这些命令妨碍了你,可以通过配置'org-list-automatic-rule'来禁用其中的某些命令.

<TAB> (org-cycle)

列表项可以像标题一样具有折叠的功能. 正常情况下,只有当光标处在plain list item上时才能进行这种折叠操作. 欲了解更多的细节,请看变量'org-cycle-include-plain-lists'. 如果该变量的值为'integrate'. plain list items会被当成是低层次的标题看待. 而*号和数字缩进层次则决定了把它当成几级标题来看待. 列表项的等级总是要低于真正的标题, 然而列表的等级制度与标题的等级制度是完全分开的. 在一个新的还未写内容的列表项上,第一次按<TAB>会把它变成上一个列表项的子项.再按一次<TAB>会上升一个层级,并且下去直到最顶列表项的层级,再按一次则返回最原始的层级位置.

M-<RET> (org-insert-heading)

插入新列表项到当前层级. 若在前面加了前缀参数,则强制插入的是标题(参见结构编辑). 如果在一个列表项的中间位置执行这条命令,这个列表项会被分为2部分,而第二部分则变成了一个新的列表项18. 如果在列表项的内容前执行这个命令,则新列表项插入在当前列表项前.

M-S-RET
插入带复选框的列表项(见复选框)
S-up 和 S-down

跳转到当前列表的上一个/下一个列表项上去19,不过该命令只有在'org-support-shift-select'被关闭的情况下才能用. 如果不是的话,你可以使用段落跳转命令代替,快捷键为C-<up>和C-<down>

M-up 或 M-down
向上或者向下移动列表项及其子项20(与上一个/下一个同缩进的列表项交换). 如果列表是有序列表,会自动重新计算序号.
M-S-left 和 M-S-right

减少/增加列表项(联通其子项)的缩进. 在第一次开始改变缩进时Org就会记住缩进的范围,并且在以后的多次缩进中都以次范围为准进行缩进,即使在缩进过程中可能会形成新的继承体系也不管. 如果你想在新的继承体系上进行缩进,那么你可以移动以下光标或者其他方法来先中端命令链,重新开始新的缩进过程.

作为一种特殊的情况,在列表的第一个列表项上用这个命令会移动整个列表. 你可以通过配置'org-list-automatic-rules'来禁止这种行为. 一个列表的总体缩进对列表后面的文本并无影响力(什么意思??)

C-c C-c

如果所在的列表项是带复选框的(参见复选框),那么就会转换复选框的状态. 在任何情况下,该命令都会校验整个列表序号和缩进的一致性.

C-c -

循环更改整个列表的列表项标志(对于无需列表:'-','+','*';对于有序列表:'1.','1)'),更改的具体方式依据'org-plain-list-ordered-item-terminator',列表的类型和列表项的位置来决定的21. 如果加了一个数字前缀N,就会选择'+,*,1.,1),-'中第N个标识作为列表项的标识. 如果在调用该命令时选择了一个文本块,那么整个文本块会转换成一个列表项. 如果加了前缀参数,那么文本块中所有的行各自转换成为列表项. 如果第一行依据是一个列表项,那么文本块中所有的列表项标识都被删除. 最后,即使没有选择文本块,一个普通的文本行也会转换成列表项.

C-c *

把一个普通列表转换为标题(这样它就原地转换为了一个子标题). 更详细的扩展参见结构编辑.

C-c C-c *
把整个列表转换成当前标题下的子树. 带复选框的列表项(参见复选框)会转换成TODO(复选框没被选上)或者DONE(复选框被选上)关键字.
S-left 或 S-right

当光标处于列表项的任意位置上时,这个命令也会起到循环转换列表项标志的作用. 具体怎么转换依赖于'org-support-shift-select'

C-c ^
对列表进行排序. 你会被提示输入排序方法,有按数字排序,按字符排序,按时间排序或自定义方法排序.
 
0 0
原创粉丝点击