1. 多级需求和方案设想及其结论

  1. 对多行操作
    1. 方案B设想
      1. 获得光标跨区的所有行的内容
      2. 用m修饰正则表达式
      3. 把每个匹配项都传给处理函数处理, 并替换得到结果
      4. 然后用结果替换这几行的内容
  2. 以123456无标题1…循环
    1. 方案设想
      1. 采用状态机
      2. 用零表示无标题
      3. 则状态转换可以用余数周期表示: 新状态=(旧状态+1)%7
  3. 能够获得当前行的标题情况
    1. 方案A设想:
      1. /^#{0,6} ?(?=.)/g正则表达式匹配前缀
      2. 如果长度为1, 则必定为无标题
      3. 如果长度不为1, 且带最后一个为空格, 则必定为标题
        1. 此时长度-1就等于标题层级
    2. 标签也算是正文
  4. 标签的#也要替换掉
    1. 方案A
  5. 能处理带空格的正文
    1. 方案A
  6. 得到新状态后能设置标题:
    1. 方案C设想:
    2. 把正则匹配到的前缀替换为新状态个#
    3. 如果不是0状态, 则都在末尾追加一个空格

2. 材料调研

2.1. 调研材料及结论

3. 随想(未整理)

4. 项目结论

4.1. 完整程序流程:

4.1.1. 梗概:

主程序

  1. 获得多行内容, 保存为rawin
  2. 用正则表达式匹配每一行的前缀, 并传入处理函数做替换
  3. 得到替换后的文本, 记作result, 用它覆盖所选行 处理函数:
  4. 得到匹配项长度
  5. 获得旧状态, 保存为Old
  6. 得到新状态, 保存为New
  7. 获得替换用字符串
  8. 替换前缀字符串

5.