分享
 
 
 

水木-Emacs 的 texinfo 模式(一)

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

水木-Emacs 的 texinfo 模式(一)

null ana

返回〗〖转发〗

来自ana的主页 http://ana.163.net/

-------------------------------------------

使用 Texinfo 模式

你可以以任何你喜欢的编辑器来编辑 Texinfo 文件。Texinfo 文件和其他的 ASII 文件没有任何不同。然而,GNU Emacs 有一个特殊的Texinfo 模式,它提供了许多命令和工具来改进你的工作。

这一章描述了 Emacs 的 Texinfo 模式的特征,但并不介绍 Texinfo 的格式化语言。也许你需要返回到开始目录阅读 Texinfo 格式化语言的详细介绍。

*目录:

*Texinfo Mode Overview:: Texinfo 模式有那些有用特性。

*Emacs Editing:: Texinfo 模式的编辑特征。

*Inserting:: 怎样插入经常使用的 @ 命令。

*Showing the Structure:: 怎样显示文件结构。

*Updating Nodes and Menus:: 怎样建立和更新节点和目录。

*Info Formatting:: 怎样格式化 Info 文件。

*Printing:: 怎样格式化文件的打印部分。

*Texinfo Mode Summary:: 简介所有的 Texinfo 模式命令。

第一节 Texinfo 模式概览

Texinfo 模式提供了许多有用的特性:

*插入经常使用的 @ 命令。

*自动建立 `@node' 行。

*显示 Texinfo 源文件的结构。

*自动建立或更新节点的 `Next', `Previous', `Up'的指向。

*自动建立或更新目录。

*自动的建立主要目录。

*为 Info 文档格式化部分或文件的整个部分。

*设置和打印文件的部分或整个部分。

也许最有用的两个特性是插入常用的 @ 命令和建立节点指向和目录。

常用的 GNU Emacs 编辑命令

在多数情况下,常用的编辑命令和文本模式下一样,Texinfo 模式仅仅是加入了一些新的命令和工具。主要的区别在于段落填充。在 Texinfo 模式下,段落分隔变量和符号表被重新定义,这样导致有一些行是孤立行。也就是说,`M-q'(`fill-paragrph')(段落填充--也就是段落重排)命令在重排段落的时候,不会把一个索引命令分隔到段落中的其他行去。

另外,Texinfo 模式设置变量 `page-delimiter' 值为

`texinfo-chapter-level-regexp'; 它缺省匹配关于章节等的等价的命令。通过这样设置,你可以从一个章节跳转到另一个章节通过使用命令 `C-x ]'(`forward-page')(向前一页)、`C-x ['(`backward-page')(向后一页)和`C-xp'(`narrow-to-page')(页间跳转)。

你可以给 Texinfo 随意起名,但是最好以以下几个后缀给文件命名:`.texinfo', `.texi', `.txi', `.tex'。尽管对于许多系统来说文件扩展名的长度有限制,我们仍然推荐使用长后缀。当你查看一个以 `.texinfo',`.texi',`.txi'为后缀的文件时,GNU Emacs 自动的进入 Texinfo 模式。当你查看的文件的第一行有文本 `-*-texinfo-*-' 时,Emacs 也会自动的转入Texinfo 模式。假如你在 Emacs 的其他模式中时,你可以用 `M-xtexinfo-mode' 进入 Texinfo 模式。

就象所有其他的 Emacs 特征,你可以自已定义 Texinfo 模式。它的定义非常容易改变,这儿所说的都是缺省值。

插入常用的命令

Texinfo 模式提供了许多命令来插入各种常用的 @ 命令。

用输入 `C-c' 两次再跟 @ 命令的第一个字母来插入命令。

`C-c C-c c'

`M-x texinfo-insert-@code'

插入 `@code{}' 并且把光标放在括号中间。

`C-c C-c d'

`M-x texinfo-insert-@dfn'

插入 `@dfn{}' 并且把光标放在括号中间。

`C-c C-c e'

`M-x texinfo-insert-@end'

插入 `@end' 并且试图插入正确的单词,就象 `example'或 `table'。(这条命令不能正确的处理嵌套列表,但是可以插入适当的单词)

`C-c C-c i'

`M-x texinfo-insert-@item'

插入 `@item' 并且把光标放在下一行的开始。

`C-c C-c k'

`M-x texinfo-insert-@kbd'

插入 `@kbd{}' 并把光标放在括号中间。

`C-c C-c n'

`M-x texinfo-insert-@node'

插入 `@node' 和一个注解行,后面列出 `Next', `Previous', `Up' 节点,

把光标放在 `@node' 后面。

`C-c C-c o'

`M-x texinfo-insert-@noindent'

插入 `@noindent' 并且把光标放在下一行的开始。

`C-c C-c s'

`M-x texinfo-insert-@samp'

插入 `@samp{}' 并把光标放在括号中间。

`C-c C-c t'

`M-x texinfo-insert-@table'

插入 `@table' 后面跟一个空格,光标放在空格后面。

`C-c C-c v'

`M-x texinfo-insert-@var'

插入 `@var{}' 并把光标放在括号中间。

`C-c C-c x'

`M-x texinfo-insert-@example'

插入 `@example' 并把光标放到下一行的开始。

`C-c C-c {'

`M-x texinfo-insert-braces'

插入 `{}' 并把光标放在括号中间。

`C-c C-c }'

`C-c C-c ]'

`M-x up-list'

从一括号对中向前移出到结束的括号后,因为输入 `C-c C-c ]' 比输入`C-c C-c }' 要容易,所以把这两个快捷键设置为同一功能。( 当然,你也可以用 `C-f' 向前移出 ),要将一个单词放入命令如 `@code{...}' 中时,把光标放在这个单词的前面,然后输入 `C-u 1 C-c C-c c'。前置参数的值告诉 Emacs 把多少个单词放入括号中间。 `1' 放入一个单词,`2' 放入二个单词,依次类推。使用负数做参数将嵌套上一个词组。假如你没有带数字参数,Emacs 插入命令字符串并把光标放在括号中间。这个特性只适用于那些在一行中对单词或词组进行操作的命令。如

`@kbd' 与 `@var'。

这些命令是在分析了 `GNU Emacs Manual' 和 `GDB Manual' 手册里常用的 @ 命令的不同来建立的。如果你想定义自已的插入命令,你可以给一个键绑定 一个快捷键,使用缩写,或者在 `texinfo.el' 加入代码。

`C-c C-c C-d' (`texinfo-start-menu-description') 插入命令与其他的插入命令工作方式不同。它在一个目录条的空白处插入节点部分或插入章节标题。

( 一个目录条有三部分,条目名,节点名,描述。只有节点名是必须的,但是描述可以帮助解释节点。)

使用时,把光标移动到目录条所在行键入 `C-c C-c d'。这个命令以节点名字来查找节点所在章节的标题,然后把标题做为描述插入条目中。光标放在所插入的文本的开始以便于编辑。假如当前目录条目已经有了描述,它不会把标题插入。

这个命令仅仅是写描述的一个辅助。它不能代替全部的工作。一个有用的描述并不是和节点名字完全一样的。

显示文件结构

你可以用 `C-c C-s' (`texinfo-show-structure') 命令显示 Texinfo 文件章节节构。它列出了以 `@chapter', `@section' 开头的 @ 命令所在行,以及相应的统计数字。这些行显示在另一个名叫做 `*Occur*' 的编辑窗口中。在这个窗口中,你可移动光标到其中的某一行上使用 `C-c C-c'

(`occur-mode-goto- occurrence') 跳转到 Texinfo 文件中对应位置去。

`C-c C-s'

`M-x texinfo-show-structure'

显示 `@chapter', `@section' 对应行。

`C-c C-c'

`M-x occur-mode-goto-occurrence'

对应于在 `*Occur*' 窗口中光标所在行,跳转到 Texinfo 文件中相应位置。

在使用 `texinfo-show-structure' 时,如果通过 `C-c C-c C-s'使用了前置参数,那么它不仅仅列出以 `@chapter', `section' 等 @ 命令所在行,而且将列出 `@node' 所在行。( 这是第一版 Texinfo 不带参数时的工作状态,因为`@node' 行弄乱了 `*Occur*' 窗口的显示而且不常用,所以在以后的版本改变了它的工作形式 ) 你可以通过用前置参数来检查 `@node' 所在行的 `Next',`Previous', `Up' 的指向是否正确。

当你在一个手册上工作时,也许只感兴趣于当前章节的结构。在这种情况下,你可以用命令 `C-x n n' 设置你感兴趣的部分,`texinfo-show-structure' 将只在这部分工作。想要恢复查看整个的文档,使用命令 `C-x n w '( `widen')。

对于 `texinfo-show-structure' 命令,Texinfo 模式重新设置了分页变量的值来适应章节的 @ 命令。这使得你可以使用 `C-x ]'(`forward-page')和`C-x ['(`backward-page') 命令在章节中向前或向后移动。使用 `C-x p '命令

(`narrow-to-page')限定章节。

更新节点和目录

Texinfo 模式提供了自动建立和更新目录及节点指向的命令。这些命令都归纳为 "update" 命令因为它们最常用在更新 Texinfo 文件。但是你也可以用它们在`@node'行插入 `Next', `Previous', `Up' 以及建立一个目录。

假如你没有用过这些命令,那么你必须手工输入目录和节点指向,这是一项沉闷的工作。

*Menu:

*Updating Commands:: 五个主要的更新命令。

*Updating Requirements:: 怎样组织 Texinfo 的文件结构以便于使用

更新命令。

*Other Updating Commands:: 怎样缩进描述,插入丢失的结点行,以及插

入结点。

-------------------------------------------

iamafan@linuxaid.com.cn

责任编辑:知识库管理员(2001-01-03 16:27)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有