免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3805 | 回复: 3
打印 上一主题 下一主题

关于emacs大纲模式下标题分级的困惑 [复制链接]

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-07-04 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-07 14:56 |只看该作者 |倒序浏览
20111207-1000
       大纲模式下,使用outline-regexp变量来判断正文是否为标题,默认其设置为: "[*\f]+",即在行首用1个*代表一级标题,2个* (**)代表二级标题,用***  ****依次递推作为3级标题、4级标题。
我想自定义标题形式为:
0) aaaaa
1) bbbbbb
2) cccccccc
2-1) c111111
2-1) c222222
3) ddddddddd
........
9) hhhhhhhhhh
10) iiiiiiiiiiiiiiiiiiiiiiiiiiiii
..........
      将outline-regexp变量修改为 "^[0-9]*\\(-[0-9]*\\)*)"
右括号')'前加’任意个数字‘:作为一级标题
右括号')'前加’任意个数字‘-’任意个数字‘:作为二级标题
      但是上述变量在实际操作过程中,会将文中首个右括号')' 前加2个数字的该标题"10) " 作为之前一个标题(右括号前加1个数字)"9) "的子标题;会将文中首个右括号')'前加3个数字标题"100) "作为之前一个标题(右括号前加2个数字)"99) "的子标题。
      例如在"9) "标题处,按键为C-c @ C-d时会隐藏"9) "标题到缓冲区尾的所有文字!而不是只隐藏"9)"标题的内容。
      反复修改outline-regexp变量的设置,均不能将右括号前加1个数字或2个或者多个数字等作为同一级标题!!!!暂时只能将同级标题的数字位数用0来补充成同位数,如00) 01)...09) 10)  或者000) 001)....009) 010)....099) 100).....!!!!!!
      把此问题挂在网上,希望对emacs掌握比较好的高手能够给个解决方法?先道声谢谢

论坛徽章:
0
2 [报告]
发表于 2011-12-07 20:11 |只看该作者
回复 1# lcmust


    在下用emacs还远不及lz,帮lz UP一下了。呵呵...

论坛徽章:
0
3 [报告]
发表于 2011-12-12 12:02 |只看该作者
大纲的级别是由outline-regexp所匹配到的字符串的长度来计算的,比如"9)"得到2,"10)"得到3
如果你想改变这种行为,就得自己写一个outline-level函数(可以参考一下tcl.el里面的设置方法)

我觉得缺省的星号挺好的啊,不仅没有你这个问题,而且不会中间插入一个你又得调整编号

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-07-04 06:20:00
4 [报告]
发表于 2011-12-14 18:43 |只看该作者
回复 3# bamanzi


    恩,谢谢。 我目前的水平只能写些简单的函数。暂时就先用0来补充一下位数了,比如“ 00)  01)  ...." 。个人觉得在标题中加上数字序号,层次感比较强一点,全部用默认的*号的话,一眼不能看出总共有多少个标题,等等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP