7. 右方的垂直qmd

来源:互联网 发布:mac炉石传说 编辑:程序博客网 时间:2024/05/18 02:00
有的人将qmd放在右边,直着写或者贴上某幅ANSI图。原理和前面两种是一样的,就
是使用光标定位*[H,光标移动*[A*[B*[C*[D,光标存储恢复*[s*[u等,在屏幕的指定位
置书写。同样要记得把光标复原到原位(毕竟后面还要显示来源的)
   如果用*[s*[u那么最好每行代码开始处用*[s结尾用*[u,当然对于这种情况,由于
qmd肯定是位于文章最后的,可以不用*[s*[u,而是在最后用*[22;1H等的把光标定位到
文章的最后

   这种qmd可能会覆盖正文内容,如果不巧造成半个汉字还可能有乱码。因此,使用这
类qmd是应该记得控制正文中每行的字符数,免得被qmd覆盖。
   为了最大限度避免乱码的出现,可以考虑开始覆盖某一行时,以*[K删掉当前光标位
置起直至行末的内容,并以一个空格开始。
   例如:

      *[s*[6;75H*[K *[1;32m旦 日*[u
      *[s*[7;75H*[K *[1;32m复 月*[u
      *[s*[8;75H*[K *[1;32m旦 光*[u
      *[s*[9;75H*[K *[1;32m兮 华*[u

   这样可以把竖写的"日月光华,旦复旦兮"8个字放在屏幕右边,用*[K删除原有内容,
每行*[K后的空格保证了可见字符不会和这半个汉字的字符结合出现乱码,至于那半个汉
字是没办法的,无法用ANSI来判断原有内容是不是汉字的第二字节。

   建议长文中不用这种qmd,可以test一下,看做出来的某个qmd最多用在正文多少行
的文章里面不会发生问题