charmbracelet / glow

Render markdown on the CLI, with pizzazz! 💅🏻
MIT License
16.3k stars 356 forks source link

Long Chinese .md document out of order on Windows #499

Open GitHubonline1396529 opened 1 year ago

GitHubonline1396529 commented 1 year ago

I am using glow on Windows to read a lengthy Chinese Markdown document with over 50,000 words and 967 lines. When I view the document using glow, the content is not displayed in the correct order... It appears several lines below the title, and if I scroll down several pages and then scroll back up, different paragraphs become jumbled together out of order.

My terminal width is set to 80 columns and I ran the command:


glow -w 80 ./story.md

Screenshot_1

This image shows what happens when I first open the markdown file.

Screenshot_2

This image shows how the paragraphs become jumbled together when scrolling back up.

Is there a solution to this problem? Thank you for your help!

bashbunni commented 1 year ago

Hey @GitHubonline1396529 do you mind providing us with the version of glow you're running and the encoding you're using? That would be helpful for us to try and find a solution to this problem. Thanks!

GitHubonline1396529 commented 1 year ago

Hey @GitHubonline1396529 do you mind providing us with the version of glow you're running and the encoding you're using? That would be helpful for us to try and find a solution to this problem. Thanks!

Oh I'm so sorry @bashbunni I forget to provide the version of glow and the encoding ...

Here's my glow version :


glow version 1.5.1 (ad21129)

and the encoding of this markdown document is UTF-8. And I've tried to save these long Chinese document as ANSI, it shows as the following in glow:


��ֵ��˵�ͷ��������΢Ц�Ŀ������ǡ����ܺã����ڿ�ʼ׼���ɣ���Ļʽ�Ѿ���ʼ�ˣ�����Ҫ��ʮ����֮��׼���á���������ת���߿�����������С��������ʼ׼���ݳ������dz������ƺ�������С���������ŵ����˱�����ʱ�䣬���ߣ�������ֻ�����Ļþ���

  ������ֻ��Ҫ������һ�����ϵĺ�̨���������ˣ����Ѻ�̨����������������Ϊ�������������ı��ݶ������������������ں�̨��Ҫ���Ľ�������������ָ��Ȼ������ijһ�������Ĺ����������ӻ���ÿһ���Ĺ����е��嵥���Ա������ܹ����ɵ��������������������������ϣ�������������־�Ե�ɵЦ��ο�����ӡ���������Щ�����ĵ�̾�˿�����Ȼ��������������̨������Ҫ�뿪��һ�У��ܷ��ɹ��Ϳ����˵İ����ˡ�

Additionally, for the UTF-8 files, if I do not use the pager :


glow ./story.md

the output can be displayed in the right order.

( This is my first time submitting an issue on Github. I hope I didn't make any mistake. )

meowgorithm commented 1 year ago

@GitHubonline1396529 What’s your exact locale (i.e. zh_CN.UTF-8) and operating system? And can you, by chance, provide a document we can use to reproduce the bug?

GitHubonline1396529 commented 1 year ago

@GitHubonline1396529 What’s your exact locale (i.e. zh_CN.UTF-8) and operating system? And can you, by chance, provide a document we can use to reproduce the bug?

@meowgorithm I'm not sure whether the following can help :


PS C:\Users\asus> chcp
活动代码页: 936
PS C:\Users\asus> locale
LANG=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_ALL=
PS C:\Users\asus>

And here's my Windows version :


Microsoft Windows
版本 22H2 (操作系统内部版本19045.2965)

I can provide a document to reproduce the bug. To reproduce the bug, maybe you can :

  1. save the document as story.md

  2. switch to the dictionary and run this command :


glow -w 80 -p ./story

( Or just type glow in terminal and select the .md file )

  1. find a paragraph which occupied two lines

  2. press J until it is moved to the bottom edge of the terminal.

  3. press J and K repeatedly several times and you will see :

ScreenShot

In this picture, you can see that the same sentence is repeated many times.

( It is really hard for me to find a stable way to reproduce the situation... I feel it like a kind of random. )

use the following markdown to reproduce the bug:


# 法螺观谬(节选)

*作者:GitHubonline1396529*

……

### 2、黑太阳的坠落与黄泉入侵事件

#### 这一切的起因

也许读者在看到这里的时候,仍然有可能认为本文是一个关于现实世界的故事,其实不然。本文所阐述的一切在现实世界中从未发生过,现在或将来也不大有可能发生。但正如你们所见,这个故事中随处可见的是现实世界的影子。为了更好的讲明白本文究竟想要告诉读者什么样的故事,我们不妨先把主角们的故事暂时的放在一边。让我们来看看我们的主角们所生活的世界的一个重要的事件背景,这便是:那场影响了无数人命运的大灾变事件。它有两个更为人所知的名称:黑太阳坠落事件,或是黄泉入侵事件。但是鉴于这个故事只是一个对于背景的叙述,我们在这里不会做过多的详细的讲述,只是对事件发生的时间线进行概括。

这事情的起因,大约可以追溯到六年前的深秋。六年前的10月18日,彼时在新城区市郊附近的山区里,一队登山者正在山涧深谷里穿行。这座城市附近见不到那种西南或西北地区常有的高耸的山脉,大多的是喀斯特地貌低矮却险峻、乱石丛生、杂草交纵的石头丘陵。队伍里带头的是卢比目,一位在天体物理学方面年轻但颇有成就的学者,行业内的天才。今年三十六岁,二十八岁就取得了博士学位。在过去的九年时间里,卢比目的科研成就不断。很快组织了自己的科研团队,攻关了多项宇宙科学难题。卢博士此行的目的,是缘于先前接到了一项安全部门委派的高度密保的任务。

就在几个月前,7月13日,一座位于西南地区的天文台的大型射电望远镜在木星的轨道附近发现了极其怪异的信号源。信号十分微弱,起初人们以为它应当来自数万光年之外的遥远星系。但是人们很快就发现:射电源在天球上的轨迹变更快得出奇。大多数与太阳系的距离在光年之外的深空天体,在天球上的轨道在数十年乃至百年间都不会有太大的变化。人们起初还因为这信号源是否来自木星内部的某些极端气象活动有过些许争论,直到数年前发射的一枚木星探测器传回了距离它估算约800公里外捕捉到的雷达图像。这引发了不小的轰动。经证实,信号源围绕木星运行,轨道越过木星的两极,与太阳同步。它的射电信号呈现出本不应该是出现在荒芜的宇宙空间中的规律性。体型巨大,直径达到了惊人的6.8公里长。

几个月前的卢比目坐在会议室的桌前,除了桌子那头身着军服正装的几个领导外,周围都是身穿迷彩军服的人。他们的领子上光光的,军衔章都被临时卸了去,身上的衣服是土黄色的陆军迷彩。会议室不大,从头到尾大概七八米的样子。光线敞亮,投影幕上展示着资料照片。

“这件事在国际上没有其他国家的天文单位观测到吗?”

“没有。现在只有我们的大口径望远镜拥有这样的深空探测能力。”

“没有和国际天文机构报告过这一发现?”

“消息已经封锁了,这件事情在当下高度保密。外界已经知道的事,我们在舆论上会尽力掩盖的。客观来讲,这件事不适合太早让外界和公众知道。”

“你们说的,就是照片里的这个东西吧?”

卢比目平静地看着墙上的投影照片,那颗黑到不合情理的诡异斑点正凌行在木星的大红斑上。卢比目双手交在胸前,正襟危坐着。

“比目博士,您曾经也是军人,我们信任您。这件事情关乎到一项可能是将会从根本上改变人类命运的重大发现。“

“你是指,地外文明的发现?”

“或许是。我们尚且不清楚这颗神秘天体的身份,但是……我们人类现有的科学如何解释这一切?图像接近人类心电图谱的宇宙射电信号,出现在七亿三千万公里之外的木星轨道上。信号极其精确,几乎能和人造激光相媲美。比目博士,这样令人叹为观止的造物,除了文明的创造之外,难道还有什么别的可能性吗?比目博士,在这件事情上,我们迫切的需要您的参与。“

“我知道了。”卢比目的声音出人意料的十分平静,“这件事情,我会参与的。”

对于这一出人意料的发现,卢比目作为对科学真相有着炽烈的追求的学者,心中自然是大为惊喜的。但他向来有一种异于常人的理性,喜怒不形于色。这位卢比目博士,在我们的故事里并不是一个关键的角色。我们能和读者谈的关于他的事情并不多,您只要知道,在本文中读到他时,他的性格大概就像您在《EVA》里看见碇司令,或者在《三体》中读到托马斯维德那样。当然,其人并不如上述两者那样有所执念,正如上文所说的,卢比目如今三十六岁。18岁参军,当过两年兵。未婚,也从来没有谈过一次恋爱。对他而言,婚姻或是其它世俗的追求几乎从未在他的心中占据一席之地。他是冷峻的,将纯粹的科学放在自己人生的第一位,他把纯粹的科学事业作为自己生命唯一的意义。卢比目的容貌是极英俊的,身材坚挺而有力。他的追求者络绎不绝,他从不青睐他们中的任何一个。

多年前曾有个他的研究生,是个年轻姑娘,在许多同事面前向他表白爱意,被他当面拒绝了。

“我不想和你谈这种事情,你可以走了。”卢比目说道。

“博士……我不理解。我究竟是哪里配不上您,您告诉我,您告诉我啊!”

“滚。”

那姑娘堵着电梯的门让它迟迟不关上,卢比目觉得这浪费他的时间了。他抬起脚,用他那双擦得锃亮的大皮鞋把那姑娘踹了出去。姑娘重重的摔在地上,电梯门关上了。第二天姑娘没有来实验室,后来换导师了。听说她延迟了两年才从研究生毕业。自那以后敢于接近他的追求者少了,但不少人仍是在背地里对他暗生情愫。

卢比目加入这项工作后,在外界看来,他就好像是人间蒸发了一样。他搬进了新单位的宿舍,为了保障对射电信号源的研究充分保密,研究院设在靠近天文台的与世隔绝的地方。深居山林,连手机也收不到外界的信号。卢比目倒是挺满意,因为他终于能够抛下一切世俗的顾虑,一心沉浸在他日以继夜的科学研究上了。对于发现地外文明的希望,卢比目一方面充满期许,另一方面来说,他是不可能不恐惧的。对于一个违反人类常理性认知的东西、对于一个科学无法解释的现象,人类总会处于本能的恐惧。这或许是因为人类在自然伟力的威压面前受到科学的庇护太久了,一切现代化的成就都是科学的成果。当人类直面什么超乎科学的东西的时候,全然与手无寸铁的猿人无异。但是在卢比目的心里,对于科学研究的狂热终究还是胜过了恐惧。

接连的一个多月,天文台的工作都是排满的。所有人忙得焦头烂额却又干劲十足,各种对信号的采集记录、数据的分析,令卢比目应接不暇。

8月14日,凌晨三点五十分的夜里,卢比目正在酣睡,被一通紧急寻呼从床上揪了起来。电话那头告诉他说,根据天文望远镜的观测,那宇宙射电信号源偏离了原来的轨道,从轨道近木点加速转移轨道、向深空转移。卢比目听说后,当即从床上跳起来,头也不回的往单位赶。

彼时,地球和木星之间的通信距离大约有五十多分钟。这也就是说,来自木星轨道的信号早在近一个小时之前就开始转移了。卢比目赶到的时候,天文台乱作一团,数据中心机房里的水冷设施呼呼作响。所有人都在对着各种仪器捕获到的数据反复确认,随即——出人意料的,射电信号源消失了。信号越来越弱,十分钟后,信号里只剩下宇宙荒原里芜杂的无线电噪音。两个小时过去了,他们最终还是不得不承认了这样一个令他们失落的事实:信号源完全消失,找不回来了。原本乱作一团的天文台,逐渐安静了下来。

卢比目长舒一口气,在扶手椅上坐下了。实际上,对于这样一个结果,卢比目并不感到意外。相反,所有的期许,伴随着长期以来的恐惧,还有这三十多天的忙碌带来的焦虑感一并消失了。至此,卢比目的内心感到了平静。

#### 事情的转折

卢比目认为这件事情已经告一段落了,于是处理完这边的工作,18号的时候便返回了他原在任教的那所大学。重新见到消失了一个多月的卢比目的人们心里不免于好奇,但确实也无心多过问,于是这件事情在人群中引发的惊奇很快就像巨石沉入大海里那样消失了。不过,对于卢比目自己来说,这件事情在心中留下的印象却不可能这样快的过去。突如其来地出现在太阳系的神秘访客,究竟意味着什么呢?如果那东西的存在真的已经远超过人类能够理解的范畴了,并且拥有者能够令整个人类文明为之震颤的强大力量,又为何选择在这个时候出现呢?自己不得不接受上级的安排,但不将天外来客存在的事实公之于众真的好吗?人们最终并没有搞清楚事情的真像,但这究竟是研究工作的失职,还是人类从一开始就注定将被那窥伺着我们的不可见的强大而神秘的力量戏弄呢?

卢比目的生活逐渐回复到了正常的轨迹,但是这一切的迷思却又如同浮光掠影般不停地困扰着他。按照密保要求,所有无归档必要的文件都被销毁了,卢比目没能带走任何资料,也被要求守口如瓶并随时等候后续的消息——当然,如果另有变故的话。

其实,对于卢比目自己而言,他并不相信人类当下的科学能够解释一切。在他看来,科学或许是这样的一种东西:人类在对于自己所身处的世界所具有的令人惊叹的规律性的无数种解释里挑选出一种最简单、最可靠的,作为人类社会发展的指导,并以此为文明在苍茫宇宙间的存在寻找一丝意义。但简单可靠却并不代表着万能。如果这世间存在着什么的东西,被科学论证证明是科学自身永远无法给出答案的,那么卢比目一点也不会为此感到诧异。更何况这样的东西眼下并不是没有,比如那些自证无解的数学问题。三体运动问题、图灵机停机问题、王浩方砖问题……但,那又怎么样呢?科学之于人类而言仍然是重要的。哥德尔不完备性的证明并未能否认数学公理证明体系的意义,对图灵机原理的研究催生了计算机事业的发展,人类社会的生产水平因此得以极大的进步。从马克思的观点来看,一切认识的目的,最终都是要为实践服务的——人类文明建设的伟大的实践。故而科学发展的意义,本身就是在不断的自我否定中得以被实现和构建起来的,也因为自我否定,而能够超越自身,直抵无穷的边境。卢比目这样想。其实真正令他在此刻感到一丝沮丧的并非是人类科学的无能为力,而是这一切过去得太快了。从这惊天动地的发现问世到哪神秘的访客离去不过一瞬一息,除了记忆之外什么也没留下,更没能让人类明白什么道理。

然而,这件不平凡的事情注定不会就这样平凡地结束。

9月5日,卢比目被组织召回了。

9月3日的上午八点三十五分,消失许久的神秘信号源第一次出现在了人们的视线里。与先前低调而神秘地游弋于深空的角落不同,这一次它现身在地球赤道上方三万五千多公里的地球轨道上,自东向西运行,一条海洋天文观测船的巡天望远镜直接捕获了它的凌日光学影像,极其规整的圆的造型立刻引起了科研人员的注意。据估计,与先前观测到的景象截然不同——它的直径不是6.8公里,而是大约一百二十米,这一点,与之前C国天文台的观测数据严重不符。卢比目曾经一度十分好奇这个神秘的地球访客是否就是木星上那个黑色的鬼影,因为两者的体型差距实在是太大了。但是直觉告诉他:同样的怪事若非同源,绝对不可能就这样连着发生两次。那巨大的球体通体呈黑色,找不到任何常规星体应有的热学特征信号。此刻它已不再向外放射电磁信号了,只是无言而高调地向着这个无知的文明世界展现着它的身姿。这一次,整个世界都为之轰动了,各国的电视台纷纷开始了关于它的报道。天外来客、不明飞行物……各种猜测层出不穷。国际社会上迅速组织了从世界各地而来的专家组成团队,对神秘的的黑球展开观测研究。

曾经有这样一个传说:雅利安人崇拜的并不是真的正太阳——黑太阳所指的应该是木星。最先参与秘密研究的人们私下也将它称为“黑太阳”——它一方面能产生近似深空恒星天体的射电信号,另一方面现在又如同太阳一般自东向西运行,而这一名称后来也被正式文件沿用了,随着新闻报道变得广为人知。

在这里,本文的作者必须澄清的一点是:在读者们所处的现实世界当中,“黑太阳”的符号曾作为装饰被刻在德国维威尔斯堡北塔的前纳粹党卫队将军大厅的地板上。信奉神秘主义与北欧宗教的纳粹头目海因里希·希姆莱,听说这个符号在日耳曼神秘主义中象征着“无穷无尽的力量”,于是将其作为了纳粹党卫军和特务组织的标志。也许读者会对本文的内容产生一些不必要的误解,觉得这个名字在这里是在暗示法西斯主义、新纳粹分子或者新民族主义者、其他极右组织和白人民族主义团体。但是实际上对于本文所写的架空世界观而言,不必去考虑这些特殊含义。作为本文的作者,我确实没有这样的意思。

人类历史上曾有过许多次不明物体的目击事件,却不曾有哪一次如这般令人震惊的。这或许是因为在以往的目击事件,亲历者都只是少数人。留给大部分未知事件爱好者的仅仅只是扑朔迷离的影像和文字资料,疲于生活奔波劳碌的普通人更是无意过问。可是这一次,当它出现时,全世界的望远镜都在看着它,就像人们抬头便能看见太阳一样。它就在那儿,高悬在天空上,它的存在已成为了不争的事实。在互联网上,任何一个视频平台都能找到24小时跟踪拍摄它的视频影像的直播间,点击量轻松过亿。黑太阳的出现,将人类社会的焦点关注汇聚了起来,让人类的目光再次望向那片自1972年之后便被人类自己忽视已久的深邃太空。

这段时间里,来自民间的各种声音不断。网络上有人问说这就是传说中的黑洞吗?很快有人解释说不是,因为根据人类现有的有关黑洞的理论,体量如此小的黑洞应当会迅速蒸发、呈现白炽的才对。对太空的神秘充满兴趣的科幻爱好者们很快想起了克拉克小说中有着奇妙的 1:4:9 尺寸比例的第谷石板,尽管眼前的圆相比棱角分明的长方体而言不那么像是文明的造物。猜疑的声音要多于猜测——事已至此,仍有不少业界外的人士满心期待地觉得他们即将看到的会是本世纪最大的乌龙事件。至于来自官方的声音,则几乎销声匿迹了。专家们自己在忙于研究,权威们则全然丧失了断言的能力。

与此同时,世界各地也有不少使用无线电向“黑太阳”发送文明信息的尝试。大部分是各国政府主持的科研工作,有些则是来自民间的尝试——这并不是什么很困难的事情,只需要确定“黑太阳”的位置,使用定向天线,并拥有10瓦以上的发射功率。一时间,近地的电磁空间变得吵闹了起来——素数表、DNA的结构、人类资料、星球、人的影像、氢原子的自旋跃迁、太阳地球在银河系位置……一条冲上热搜的短视频,是关于某硅谷企业两年前发射的一颗人造卫星监听到某“不知名天文台”在发送蔡徐坤打篮球的MMSSTV影像,每45分钟完成一帧的传送,在C国某知名短视频平台上获得了破百万的播放量。直到过多的信号干扰了人造卫星的日常通讯,这类事才被叫停、陆续减少和中止,最后只剩下少数国际天文机构的天文台,还在进行这种尝试。但“黑太阳”仍然不为所动,只是静静地停留在它的轨道上。

9月7日,黑太阳进行了第一次的轨道转移,轨道高度显著降低,抵近地球。9月12日,第二次轨道转移。此时黑太阳的运行轨迹与赤道斜交,高度下降至大约400千米的近地轨道,轨道接近极其规整的圆。处于无线电静默状态,任何光学雷达想要直接跟踪它都是极为困难的。

#### 启航

经过与各国政府的协商之后,国际空间机构做出了这样一个重要而又大胆的决定:让一条原定与国际空间站对接的载人飞船取消原来的航班任务,在轨道与黑太阳尝试进行一次交汇。

被选中执行任务的飞船是R国制造的一种三舱结构的载人飞船,从船首到船尾依次为轨道舱、返回舱和推进段。这种飞船的型号早在上世纪六十年代就完成了首飞,并一直服役至今。整体的设计经过多次的改进,如今虽然不是性能最好的载人航天飞船,但其技术基础有着无与伦比的高度可靠性。另一考虑是R国的有着十分先进的快速对接技术和轨道设计能力,曾经最高的一次纪录是仅花了三个小时就成功与国际空间站对接。考虑到任务的特殊,飞船的座舱原本能够容纳三人,但实际参与任务的,只有两名R国的宇航员:年轻的工程师瓦列里·伊萨耶维奇,28岁,和飞行指挥官列奥尼多维奇·波尔塔诺夫,35岁。考虑到R国自己的宇航员驾驶自己的飞船,能够更加熟练些。临危受命之下虽然未能来得及提前接受额外的特殊训练,但对于他们的飞行控制技术,人们仍然抱有信心。

飞船原定计划在9月9日发射,现改为9月16日。之所以将时间控制得这样紧,是因为完全没有人能顾预料那来自天空的访客接下来会做出怎样的运动。这期间工程师们仅仅花了不足一个星期的时间,对飞船的轨道舱进行了改装。

这场改装作业几乎是争分夺秒的——人类的现代制造工业在与发射窗口的时间周期的赛跑中展现出了它难以置信的巨大力量。为了完成这项伟业,M国48架现存最大规格的重型运输机全部出动,R国的铁路线调度室热火朝天。首先,他们拆掉了飞船上多余的座位,以便携带更多的给养。然后是出于完成任务的考量:一方面,他们希望飞船能够尽最大可能抵近“黑太阳”,获得第一手的近距离观测数据,因此改装的轨道舱具有一套完善的毫米级精度的集成雷达设备。另一方面,他们还卸去了原来预留的空间站对接口,安装了减震装置和集成接触探头。在交会时,飞船会尝试与“黑太阳”直接进行软接触。船员只需要手动控制飞船的飞行,而船艏的装置成功接触“黑太阳”之后,对于其物质结构的探测和分析,甚至是尝试采样分析,这些都会由装置和计算机自动完成。如果遇到未曾预料的特殊危险,那么轨道舱与返回舱之间的连接节点上安装的应急分离装置会迅速启动,将飞船分离出去。飞船在脱离之后会立刻调转船艏的方向,将发动机朝向“黑太阳”点火逃逸,从而保障船员的安全。整个过程,根据计算机的模拟,仅需15.43秒。在各国科研工作者的协同下,如此多巧妙而精密的设计在如此短的时间内被如此高密度的集成在狭小的舱体空间内,可以说是令人赞叹的奇迹。

莫斯科时间16日凌晨,H国境内,完成组装的火箭通过起竖列车从总装车间送往拜科努尔发射场31号平台。为了尽可能节约时间,箭体还未来得及加上别的涂装,此刻周身上下是纯白色的。箭体在巨大的液压臂的支推下徐徐竖起,服务塔架、脐带塔依次环抱而上。像极了一只白色的巨鸟,在宽阔的发射场地中央张开了翅膀。

卢比目没有亲自参与这件事情,他和全球七十亿人一样,是在网上看的转播。组织上是因为事前的研究工作有他的参与而将他召回,但黑太阳的出现在国际社会上引起巨大反响之后,卢比目自然是不可能跑去参与国际空间机构的研究任务的。天文台之前对黑太阳的观测记录已经递交了国际社会,而火箭升空之后的事情便与他无关了。

全球七十亿双目光,此时正目送着人类的勇士出征。

瓦列里此刻正坐在飞船的座舱里。九月的拜科努尔半沙漠草原,气温还算舒适。乘上出发的大巴时还是晨星未落的夜幕,天空呈现出一种自然的深蓝色。现在隔着整流罩,瓦列里望不见舱外的情状,但他知道此刻应有一轮晨阳横在东边的天空上。机械摩擦、碰撞,燃料泵在身下不远的地方嗡嗡作响,耳旁时不时穿插着仪表清脆的蜂鸣。座舱里的两人跟随着无线电的指挥与千百次演练的肌肉记忆,沉稳、有序地执行准备程序。尽管如此,当列奥尼多维奇向身侧望了一眼时,还是在瓦列里的面孔上瞥见一丝微弱、转瞬即逝的不安与畏惧。两人都知道他们此次任务将要面对的是何种程度的未知:作为人类的代表,去接触一个人类历史上最大的谜团,去面对一个自古以来令无数仰望星空的英雄豪杰沉思的发问:在地球之外,在那深邃的浩渺星空之间,究竟有没有人类之外的生命和文明存在。这份使命对于个人而言似乎有些太过沉重,但他们——英勇的R国宇航员,他们知道自己是英雄的后裔。1961年4月12日,尤里·加加林身着90千克重的太空服、乘坐重达4.75吨的东方1号宇宙飞船进入太空,成为世界上第一个进入宇宙空间的人。自那以后的六十年间,有超过500名宇航员进入太空。开拓人类通往未来道路的使命,就这样一代代地传承下来。这条通天的道路上,确实不乏有人类的纷争、太空竞赛、政治冲突的影子,但道路的尽头终究是人类光明的未来。对于瓦列里和列奥尼多维奇,帮助他们克服恐惧的,是一种仅属于唯物主义者的信仰。

……

“各号注意,倒数一分钟准备。”

首都的指挥中心传来的无线电通知,发射已经进入最后的倒计时。火箭的燃料已经加注完成,除脐带缆之外的大部分电缆都已经断开,自检程序执行完毕、方圆五公里内的人员已经全部撤离了。列奥尼多维奇——作为飞行任务的指挥官,调整了一下自己的呼吸。

“收到,航天员已就位。”

“十,九,八,七,六,五,四,三,二,一,点火!”

“脐带塔分离。”

发射的瞬间,电视视屏里的两名航天员向着摄像机敬了一个标准的R国空天军军礼。

飞船的发射是R国特有的方式,自1955年这座发射基地建设以来,这套设施已经有超过50年的历史。发射台是巨大的钢筋混凝土平台,台下有很深的导流槽,开口足足有十六米宽。导流槽下边是排焰管道,其作用是排出发动机的燃气流。发射的瞬间,喷焰从地下以三十度角往上斜向排出。机声轰鸣,浓烟滚滚,炽烈而雄壮。发射装置安装在导流槽上方的中心处,火箭就在导流槽坚固的扇形台架上。在地下管线错综复杂的发射台上,有几座塔架,分别是电缆塔台、服务塔台和加注塔。其中,电缆塔台支撑着电缆,其它塔台把加注管道与遥测电缆连接到航天器上。这几座塔架都可以独立倒伏、起竖。发射前几秒,这些塔台会以一种极具艺术气息的绽放姿态脱离火箭。

白色的巨鸟振翅而飞,拖着长长的金色曳尾,直冲云霄。随即,火箭依照程序开始转向,游标引擎引导飞船飞向轨道。像英雄掷出的投枪那样,火箭有力而决绝地向着远处的地平线飞去。以螺旋姿态抛出的四枚第一级助推火箭,成为了晨空中的一颗夺目耀眼的十字星。

这是地球上的人们最后看到的景象。

#### 飞向漆黑的夜,然后静待黎明

在光学卫星的跟踪下,火箭越过卡门线进入太空。在火箭前端的逃逸塔分离几分钟后,两瓣被抛去的整流罩消失在深邃的太空中,像是巨石沉入了大海。透过舷窗,蓝色星球终于出现在了两名航天员的视野里。飞船沿240千米的近地轨道向西南方向飞行,很快就进入了夜半球。两名宇航员都不是第一次执行任务了,对于这样的场景,只是觉得很熟悉。在3.5倍重力加速度下,人会因大脑缺氧和发动机传来的令人眩晕的震动而感到一丝倦意。

九分钟的全力冲刺后,最后一节运载火箭脱离了飞船,成为了蓝色星球轨道上的一颗无关紧要的卫星。它会在后续几个星期的钝化作业中利用剩余的燃料推进剂受控减速,然后烧毁在大气层里。(是的,考虑到航天事业的长远发展,这是最新引进的技术。)

太阳能帆板和天线相继展开,振动和噪声终于缓和了下来,飞船独立于火箭,开始进入了漫长的滑行阶段。用绳子悬挂在船舱控制面板上方的玩偶猫脱离了重力的束缚,在船舱里漫无目的地漂浮游走了起来。现在它开始变得像一只真猫了。列奥尼多维奇用触控杆操作仪表盘上的按钮,终端机上小小的电子屏显示着飞船现在的飞行状态。

“列奥尼多维奇……” 瓦列里问,“这次任务结束之后,你打算去做什么?”

“不知道。划船,钓鱼,烧烤。看电影?或者呢?”

瓦列里深吸了一口气。

“我在想,我不知道我们这次的任务究竟会遇上什么,但是或许,当我们的双脚重新站在地球上的时候……整个人类的世界观、对宇宙的认识都将因此发生一些变化了。即使是在航天史上,如此近距离地接触一个人类未曾理解的现象也是罕见的。我们所熟悉的生活也许将因此不复存在。我不知道。”

列奥尼多维奇没有回答,而只是静静地望向舷窗外。夜半球的灯火明丽,透过舷窗向外望去,欧洲大陆仿佛是另一片星空。列奥尼多维奇估计,大约是在欧洲凌晨三四点的时候,就已经有不少人家从睡梦中起身来看火箭发射的网络直播了。

有多少次呢?像这样在全世界范围内万众瞩目的航天任务,自1972年M国实施人类的最后一次登月行动之后,就开始变得越来越少了。现在他们身处的这型飞船,在历史上也曾承载着载人深空的理想,但由于人类的纷争、政治局势的动荡,这个计划最终没能迎来它迈出的一大步。在过去的十年中,这型飞船主要的任务就是在天地间往返、将一批又一批的宇航员送往近地轨道上的国际空间站。她迎来了太空商业上的成功,但她本应当属于一个更伟大的任务——带领人类造访月球。她不曾走得更远,也不曾有过怨言。或许今日的征程,仍是一种冥冥中注定的命运。她的身影,再一次出现在人类太空探索最前沿的第一线上了。

列奥尼多维奇查看飞行检查单,瓦列里拿出任务文档开始翻看,并拿出笔做一些记录。档案纸必须用绳子拴住,以防止在狭窄的失重舱室内飘散开来。与这条古老的飞船一样,纸质的档案资料也是诞生自人类太空探索时代之初而又被保留至今的东西。

这次的任务,飞船的滑行和两次轨道转移和停泊在轨道上的时间大约有六个多小时。

这将会是无比漫长的六个小时。

打开了轨道舱和返回舱之间的舱门,瓦列里进前去检查所有发射前安装的设备是否运转正常。轨道舱空间本就不大,现在更是塞满了各种设备。无线电里时不时传来一些来自首都指挥中心的声音,询问飞船的各种状况,不过相对而言都只是些无关紧要的问题。这次任务最大的困难,是“黑太阳”约等于零的信号反馈,这意味着在数公里之外的大多数长程定位手段都只能获得羸弱的效用。很大程度上可能只能依赖宇航员经验的判断去接近“黑太阳”了。不过是只要能够抵近,那么接触巨大的“黑太阳”或许就能变得轻而易举了。

透过飞船前端的探视窗,瓦列里再次看见了他所熟悉的地球。

#### 第一次接触

“现在是莫斯科时间下午一点零二分,9月16日。飞船准备接触“黑太阳”。”

“你能看见它吗……波尔塔诺夫?”

“现在还不能……等等,我看见它了,在我们的上方。我现在准备靠近它。”

飞船的前视摄像机的电视画面里,“黑太阳”的模样清晰可见,同样的画面也出现在潜望镜里。即便对接的位置选择在日半球,星空中“黑太阳”的轮廓依然不是很清晰。望向那神秘莫测的黑色,瓦列里的心中升腾起一种强烈的不安感。

“被动雷达正在对‘黑太阳’进行近距离扫描。”

“瓦列里,启动主动雷达,跟它打个招呼。”

“收到。同步进行下行数据回传。”

列奥尼多维奇轻推舵杆,飞船的微动发动机开始工作。纤细的白色喷流从飞船的尾部喷射而出,从飞船船舷上的摄像机位传输的图片可以看见,在日光的照射下,那喷流形成的薄雾瞬间出现,又在刹那间飘散开来。飞船,如同漂浮在静水中的青叶突然受到了水波的推动作用,开始徐徐向前。这个画面,经过无线电的传送和网络电视的转播,此刻正被地球上无数人的目光盯着。

“它离我们的距离有300,200……等等……不,不对!这是怎么一回事!” 透过飞船的潜望镜,列奥尼多维奇惊叫了起来。

潜望镜的图像,还有光学遥感卫星从远处跟踪的图像,通过无线电传送到位于首都的飞行任务指挥中心,所有人都只是呆呆地望着图像的变化,没有人说话。人们望见那远处幽灵般的黑影迅速变大,紧接着又如水中的游鱼般俶尔远逝。从更远一些的地方看,飞船与“黑太阳”轨道间的距离实在是太远了。因而两者只是相互靠近了很短的时间,“黑太阳”就以一种不可思议的速度迅速远离了。

“飞行指挥官请求启动主发动机。”

“取消本次接触的尝试,波尔塔诺夫。计算机抢先了你们一步,结果显示我们已经错过了这次窗口。燃料有限,不必再尝试了。重复,取消接触尝试。”

“收到。”

“波尔塔诺夫同志,伊萨耶维奇同志,这不是你们的问题,我们怀疑此前的航道计算出现了严重的错误,对此,首都指挥中心应该道歉。我们会尽快排查。大约18小时候你们还有一次接触‘黑太阳’的机会,彼时你们可以再次尝试。祝你们好运。”

“收到。飞船在此待命,等候下一步指示。”

地面的指挥大厅安静了一阵子。与其说是人们瞠目结舌了,倒不如说是人们为了这接触的紧张瞬间,已经屏气凝神了太久。于是紧接着,大厅很快又陷入了一阵嘈杂。

为什么?怎会如此呢?在这个关键的节骨眼上,航道的计算错误几乎是不可原谅的。早不发生、晚不发生,偏偏发生在人类文明探索宇宙的——可能是——最神圣的瞬间。来自M国同行和国际太空探索机构的指责很快便劈头盖脑地砸了过来,但是R国的工程师们却像是哑火了。他们只是感到费解,因为的这型飞船技术高度成熟,极少出错。与国际空间站超过一百五十多次的通勤任务里,这型飞船也鲜有纰漏。除非,是在任务开始之前没能估算好黑太阳的轨道……但是这就更不可能了,因为尽管通过物理手段追踪“黑太阳”的工作极其困难,但是现在全世界的天文机构都已经达成了对于“黑太阳”运行状态的共识——距离地面400千米,赤道交角45度,轨道接近一个完美的圆。自12日转移之后,黑太阳的轨道——似乎是受到了某种不为人类所知的神秘力量的影响,稳定得出奇,几乎没有任何变化。

我们在上文已经提及过,本文所讲述的故事,发生在一个与现实完全无关的架空世界,但是这不妨碍我作为作者,也作为一个在现实世界生活过许多年的人,借用一些现实世界的特征,作为本文世界观的设定。因此,考虑到本文的读者可能不具备现实世界一些特定方面的知识,所以本文的作者在这里自认为有必要补充一些信息。

在此,我另做一则免责声明:本文作者不是专业的科研工作者,对于科学方面的情节的叙述,难免会存在一些疏漏。如果读者发现本文中存在任何科学方面的漏洞,请与本文作者或任何对本文具有著作修改权的维护者/管理员联系。

#### 航天器轨道维护的必要性

本文不是科幻小说,读者也鲜有资深科幻迷,所以本文作者不确定阅读本文的读者对于自己头顶的天空了解到何种程度。我在这里猜测,许多读者可能会认为,经人类发射到太空中的航天器,自进入太空的那一刻开始起,便进入了一场万有引力的角逐当中。受到万有引力定律的支配,成为某颗星球的卫星,永远环绕在某条确定的轨道上运行下去。于理而言,天体的运动定律本是一门严密的科学。1968年,美国阿波罗8号飞船从月球返航途中,地面指挥系统问:现在是谁在驾驶飞船?飞船上的指令长博尔曼俏皮的回答令人难忘:“我想,现在主要是艾萨克·牛顿在驾驶飞船了。”但其实,支配宇宙空间的并非只有天体的运动定律,许多因素都可能引起航天器轨道的变化。鉴于本文只是在转述一个故事,并不是什么科学论文,因此不可能将这里的所有因素逐一列举作一整理,只是简要说明,以供读者更好地理解本文中作者想要表达的意思。

航天器实际运行轨道偏离开普勒轨道的现象,叫做航天器的轨道摄动。引起摄动的因素有很多,比如轨道中心体的非球形摄动力。一般的宇宙天体,虽然大多看上去是一个完整的球形,但是实际上一般天体的质量分布往往不均匀,形状也不规则。比如地球就不是一个完美的球,所以实际引力与中心体球形引力会有差别。这个差值,就是人们计算的预定轨道和实际轨道之间的差值,也就是中心体非球形摄动力。还有像是中心天体附近的其他天体的引力、磁场等作用力,都会引起航天器的轨道摄动。

然后本文的作者还想和读者聊一下有关地球大气的事情。

地球大气,是指地球外围的空气层,是地球自然环境的重要组成部分之一。按照大气在垂直方向的各种特性,我们可以将大气分成若干层次。按大气温度随高度分布的特征,大气分成对流层、平流层、中间层、热层和散逸层。也就是说,大气层的高度,是从地面到天空中大约1000-1400千米这个区间范围内,其中,我们刚才提及的,本文故事中的“黑太阳”所处的400千米的轨道,完全就是处于地球大气的电离层当中。读者熟悉的现实世界中的国际空间站,同样是以大约52度的赤道交角,运行在距离地球420公里的轨道上。所以说,进入太空,并不代表摆脱了地球大气的束缚。在电离层中,太阳电磁辐射、宇宙线和沉降粒子作用于地球高层大气,使之电离而生成的由电子、离子和中性粒子构成的能量很低的准中性等离子。

等离子体——以防止读者又觉得不理解,作者再在这里也解释一下,等离子体是除去固、液、气外,物质存在的第四态,在宇宙中是十分常见的。根据人类现有的物理知识,在宇宙中99%以上可见的物质都以等离子态的形式存在。如果读者感到自己从来没见过等离子体,可能是因为读者没有飞到距离地球7个天文单位以外的地方观察过太阳活动,也有可能是因为读者平时在烧火的时候没有把火烧到足够高的温度。

读者可以想象,在400-500千米这个轨道高度上运行的航天器,其实并没有离开地球的大气层。势必会受到地球大气的影响。比如航天器与大气电离层的摩擦会损失能量,这也是一种摄动作用。以国际空间站为例,长期以往,空间站的轨道势必会降低,直到坠入大气烧毁。

出于这样的原因,人类发射的很多航天器,包括国际空间站在内,是需要定期作轨道维护的。这就要求航天器自身拥有持续的、受控的动力。我举个例子,中国在2018年5月21日发射的鹊桥号中继卫星,运行在地月L2点的Halo轨道上。地月L2点,大家也知道,就是那个大名鼎鼎的三体运动的一个特殊解。简单的来说,这个地方飞行的航天器会绕行一个很奇怪的“螺旋环”形状的周期轨道,这就是Halo轨道。但是Halo轨道是极不稳定的。围绕这条轨道长期作周期性的飞行,会逐步偏移扩散。所以航天器必须依靠自身携带的动力源,将航天器空间位置维持在太空中多引力源对航天器共同施加作用时产生平衡点上。卫星的发动机每次开机关机消耗的推进剂虽然不多,但是长年累月下来,消耗是不可小觑的。短短四年间,鹊桥号的轨道维护超过150次。如何和尽可能延缓燃料耗尽的时间、延长航天器的寿命,这是一个经济问题。人类的航天史上曾出现过许多这方面的天才般的设计,本文作者在此不再做过多的赘述了。

我想说的是,对于电离层中运行的航天器,轨道的摄动是显著的。国际空间站需要动力来维护轨道,最早是由空间站的第一个舱室“Zarya”(曙光)提供推进功能。2000年,这项工作转由国际空间站的第三个舱室“Zvezda”(星辰)执行。

这段文字放在这里,只是希望读者能加深读者对于太空的印象和理解。

#### 这里面肯定存在着一些猫腻

“黑太阳”不存在轨道维护的问题。

“黑太阳”的身上不存在任何能够被人类识别成像是发动机之类的特征,但是“黑太阳”的轨道始终存在着一种不可思议的稳定性。自9月12日到9月16日下午一点零二分,400千米接近规整的圆的轨道几乎没有任何变化。这说明黑太阳一定具备某种动力,能够维持自己的轨道稳定并进行如此多次的转移。从这样的角度来看,“黑太阳”更有可能是具有智能的东西,或者智能的造物。

至少到这个时候,人们还是这样认为的。

16号晚上,卢比目在天文台。再一次回到这里,之前归档的资料文件,现在又被一一翻找了出来。下午的时候国际空间机构的专家打来急电,用中文向卢比目询问一些最初发现“黑太阳”时有关其轨道运动规律的细节,卢比目都逐一尽职地作答了。无非还是那些老生常谈的话题:不可思议、接近完美的圆轨道,还有心电图一样的射电信号。

得知飞船初次尝试接触失败后,卢比目的心里萦绕着一种不安的情绪。这个时候大概是晚上八点多,他坐在窗边翻看之前的资料文件,总感觉无论如何也看不出个所以然来。手里的资料新增了几页,那是后来加进来的。其中的一张照片,令卢比目凝视许久。北国晴朗的蓝色天空中飘着几朵白云,一个怪异的黑点穿行其间。拍摄地点是在U国境内,出自几位天文爱好者之手,在互联网上正传得火热。这照片是在地面上用长焦镜头相机直接拍摄的,彼时“黑太阳”在地面上已经是肉眼可见了。晚上八点多的天文台宿舍,窗外的山间漆黑一片,晴朗的夜空星星点点,能听见晚秋时节山风在谷间回响、吹落片片树叶的声音。这儿的窗口能望见远处天文台山岗上的一盏红色信号灯,一明一暗规律地闪烁着,但天文观测设备大多都被山体挡在了视线之外。卢比目的脑海里忽然浮现出一个可怖的想法:是否,黑太阳从一开始就超乎了人类的想象呢?人类无法理解如此规整的圆形轨道是如何形成的,又是否是因为很太阳根本就不符合人类已知的物理规律呢?

科学,从不惧怕鬼。或者说,科学所真正恐惧的,并不是这个世界“有鬼”,而是“不知道什么鬼”。人类的认识是无限的,因为这世上不曾有一种真理是绝对的真理。承认绝对真理的不可知性,反而让人感到了认识、探索和发现的无限性。你不知道真理是什么,但你知道真理对人类而言很重要。你无法触及它,所以你愿意奉献你的一生去追求随它的脚步。世上若有鬼,于唯物主义者又何妨呢?只要能承认它的存在,循其踪迹、究其因果,找到它的规律,用一种能够被人类所理解的语言去描述它的活动,科学之汇就又能旁生一新派。引力子、宇称不守恒,那是潜曳于微观世界的妖鬼。暗物质、暗能量,那是漫游于长天星空的魔魂。塔科马海峡大桥因共振的效应而坍塌,怎不像是科学的鬼忽然有了杀人的野心呢?当这等怪事摆在科学家的面前的时候,科学不曾后退一步。因为科学正在做的事情,就是捉鬼。

但是现在,摆在所有人面前的全然是另一幅局面:“黑太阳”的运动太规律了。极度的规律,恰恰是在否定规律本身。人类无法接近它,几乎像是一位有智性的神在冥冥中的安排。

卢比目把手里的资料丢在一旁的书桌上,闭目思索着。他忽然想到,现代的学术研究有这么个特点:研究越是深入,在某一个领域越是精专,想要跨界去了解其他专业领域的知识,就越不容易了。或许这会儿在世界上的某个地方,真的有那么个熟识物理学各个研究领域的框架的通才,已经抢先他们一步,从这些看似毫无关联、令人毫无头绪的数据资料里看出一点门道来了。

无论如何,此刻的人类确已拼尽全力了。无论结果如何——卢比目想,这都会是一场载入人类史册的有意义的尝试。

与此同时,在R国首都的任务指挥中心,排查工作正在如火如荼地进行着。工作人员们在检查每一个可能涉及的航天系统,确保第一次接触时出现的错误绝不会再次发生。工作从下午一点半开始,动力、结构、通信、控制、天体轨道的计算和计算机系统本身……动力、结构、通信、控制、天体轨道的计算和计算机系统本身……直到现在也没有任何结果。

还剩下十个小时左右的时间,时间正在一分一秒地过去。

地球上人们的另一项重要的工作,是分析飞船传回来的信息。尽管飞船与“黑太阳”的接触失败了,但飞船上的高分光学雷达设备仍然传回了相当珍贵的近距离观测数据。在人类真正接触“黑太阳”之前,这些数据将会是最重要的第一手研究资料。

停泊在轨道上的飞船,此刻正静静地俯瞰着唯一的大地。“傍晚”的时候两个人轮流值班,各自吃了一餐饭,现在又是漫长的等待时间了。瓦列里摆弄着他的猫玩偶,列奥尼多维奇已在失重带来的安逸感中睡着了。机声吟唱着现代工业的思乡曲,打破了地球轨道上极致到令人耳鸣目炫的宁静。闪烁的航灯,与繁星一唱一和。早些年的时候,曾有记者在采访时询问:宇航员是如何忍受狭窄的船舱和远离地球的孤寂的?瓦列里向他讲述了他童年时在西伯利亚生活的回忆。暴风雪在温暖狭窄的木屋外呼啸肆虐,暖炉里柴与火发出柔和的光,还有一只老猫卧在他的身旁。似曾相识的感觉在船舱中环抱着瓦列里,离家最远的人仿佛再一次回到了故乡。

又或许……人类本就孤独,也从未真正离开故乡。

#### 抽象时代

我们的故事、黑太阳的迷团,发生在一个什么样的时代呢?

我们的故事里,这个时代的社会,究竟是什么模样呢?

此刻的社会上,对于“黑太阳”和第一次接触失败的讨论正愈演愈烈。不过和人类历史上大多数的重大事件一样,讨论也仅仅停留在讨论的层面。晚上八点浏览手机资讯的人会看见,浏览器头条的推送中十之有六都是与“黑太阳”有关的讨论,剩下的四条才是平日可见的那些明星八卦和例行的政治新闻推送。真正追溯“黑太阳”本质的猜想论战,更多地只是专家们的特权。而此刻的网友们,广大的互联网用户们,正在致力于用“黑太阳”的形象制作一些夸张化和艺术化的作品,这种创作形式广泛流传于年轻人之间,受到追捧和欢迎。用时下流行的时髦话来说,叫做“整活”。

“整活”这个词,最初是指代传统曲艺节目中偶然涌现的一般人难以做到的事情,但是现在在互联网上,更多地泛指一类用于活跃气氛、乃至整蛊恶搞的夸张行为。

在9月3日到16日的这段时间里,C国某知名的、允许互联网用户自行上传视频作品的“弹幕”视频平台上,有这样几个点击量较高的视频作品,连续数日占据网页的主页推荐:

一视频标题为“【4K】黑太阳旋转三十分钟”,视频的主要内容是在白色的背景上,有一个规整的黑色的圆占据屏幕的正中央;视频的背景音乐,是《老友记》的插曲《Funky Town》。视频长达30分钟而画面内容保持不变,则音乐循环播放。调侃地说,与苏联至上主义画家马列维奇的《白底上的黑色方块》有着异曲同工之妙。视频收藏人数17.1万,投币1.5万,点赞4.5万。

一视频标题为“科目二:接触黑太阳”,主要内容是一系列网络流行视频元素的蒙太奇剪辑。被剪辑的主要部分是一个视频,关于早先一名参加汽车驾驶考试“科目二”的考生在过度紧张的情形下错将座椅放平的扳手当作汽车手刹的糟糕的驾驶表现的视频,但在该视频里这个情节却被故意剪辑成了火箭发射时超重负荷造成人后仰的景象。视频中的“科目二考生”驾驶着宇宙飞船冲上太空,伴随着德国作曲家理查·施特劳斯的交响乐《查拉图斯特拉如是说》,飞向“黑太阳”又与之错失交汇机会,然后在宇宙空间中绕行,依次与“蔡徐坤”、“篮球”、“刘华强”、“瓜摊老板”、“鸡块”等一系列没有任何关联的事物相遇,最后在“野兽先辈'造成的宇宙级灾难中毁灭,而这一灾难又在危及地球和人类之前被坐在红色古墙下的"蓝色妖姬切尔西”制止了。视频中的元素是以高度的无序性组织起来的,看前一个画面的时候,没有人能够预料情节接下来会如何发展。视频播放25.2万,投币5.4万,点赞21万。

一视频标题为“啊啊啊黑太阳我喜欢你啊”,主要内容是在某二次元动漫展会现场,视频上传者拍摄自己跪伏在另一名身着黑色的整球形全包裹道具服的参与者脚边并大喊一系列诸如“黑太阳我好喜欢你啊!我要做你的狗”之类的话语。视频播放61.1万、点赞3.6万,投币则非常公正地只有7123人。

一视频标题为“你这黑太阳太假了”,主要内容是通过剪辑的手段复现著名乡村扶贫工作者阿力木的“名场面”——将一只水桶抛向身后的黑太阳,却刚好意外错过、没有砸中,他只好狼狈地起身,去捡那只水桶。这个简单的视频播放75.4万、点赞1.5万,只有305人投币。

类似这样的视频在互联网上如同爆发增长式地不断涌现,而且都是在从黑太阳的出现到飞船发射之间的短短13天之内创作出来的。

这些视频,具有丰富的时代内涵。

通过文字的叙述,本文的读者可能会认为这些视频的内容和荒诞不经、难以理喻,但实际上如果你实际见到这些视频的内容并代入一种情境去看,大概会觉得十分有趣而会心一笑的。那么或许,能让公众感到乐趣,就是这些视频的意义。

时代和老百姓的生活之间总是保持着一种惟妙惟肖的关系,时而很远,时而又很近。

也许读者会联想到,在这个故事之外的现实生活中,1962年古巴导弹危机,整个人类世界命悬一线。美国和苏联两个超级大国所拥有的核武器总量,足够把地表上人类文明世界洗得干干净净,达摩克利斯之剑高悬于人类头顶。与此同时,中印边境上战火硝烟弥漫,大规模边境武装冲突一触即发。但对于那个时代的普通人而言,中国内地正值三年自然灾害的最后一年,老百姓思考的更多是自己的生存和命运的问题。

同年,苏共中央和苏联部会议决定从6月1日起将食用油和肉类零售价格分别提高25%和30%,苏联的老百姓大多在为食品和轻工业制品的匮乏苦恼不已。新切尔卡斯克的流血冲突事件,让这个曾经梦想建立共产主义的伟大国家迎来了她的至暗时刻。而在西方,披头士乐队刚刚发行第一张单曲,麦当劳叔叔和他的十亿个汉堡包正挥师直取华盛顿,在美国人的生活方式和价值观中攻城掠地。

没有人真正关心核导弹的总当量是多少,即便是有,也只是茶余饭后消遣时的空谈罢了,因为这些真正能够主宰人类文明命运的信息,从来就没有向普通人开放过。再举个离本文的读者更近些的例子:本文的作者依稀还记得中国新冠肺炎疫情最严重的两年,听到最多的抱怨是楼下的超市因为物资短缺的缘故,短时间内不再提供含糖的可口可乐汽水。

影响人类历史和命运的大事件无一不在支配着我们的现实生活,但对于普通人而言,他们不总是思考这些事情给自己带来的影响,因为这种影响有时并不是那么直接。这或是一种慰籍,说明无论人类的政治、经济的冲突如何纷争,普通人的生活总还让人感到熟悉和亲切。但有时,这种“无影响”也会令我们忘记我们究竟生活在一个怎样的时代。

这是一个抽象的时代。

本文的作者没有试图通过本文告诉读者任何道理,本文也没有在讽刺或歌颂任何东西,本文的作者只是一个无厘头的乐子人。本文没有任何公知倾向,没有任何国家、政治立场,没有挖苦或揶揄任何少数或多数群体。本文没有维护女性权益,也没有维护男性权益。本文没有西方环保主义指责或者白左思想。

正如上文已经叙述过的:本文讲述的世界是完全架空的,本文中的故事在现实世界中从未发生,将来也不可能发生。但是本文的作者不希望故事的陌生感太强,所以想写一些让读者感到熟悉的东西。

比如,一个抽象的时代。

#### 读者可能猜到了剧情

17日上午凌晨五点四十九分,瓦列里和列奥尼多维奇准备返回地球了。

第二次接触的失败,在一些坚信“黑太阳”背后存在着一些超乎人类理解的超自然力量的人看来,几乎是意料之中的事情。

光学潜望镜、电视摄像机、视线里诡谲而怪异的黑影。远处直射而来的阳光、微动发动机喷口的翕动,黑太阳——这个令人费解的谜团,再度出现,又迅速消失,一切看起来都是那么熟悉。抵近、抵近、抵近……没有用。第一次接触尝试的情景,又再度浮现在眼前。这一次飞船的主发动机点火了十一秒,是情急之下为追及远处的“黑太阳”而作出的尝试。之后又连续进行了数次机动,但最后的结果只是徒劳,因为即便是飞行在局部上非常接近的几乎是同一条轨道上,即便是计算机推算结果的数学验算看上去分毫不差,从光学观测的结果来看,飞船与“黑太阳”之间也始终保持着一段距离,或者是存在着一节无法消除的速度差。那天空中的鬼魅像是拥有某种神秘的力量,明明就在眼前,却始终拒绝地球人类的造访。主被动雷达扫描、近距离传送文明信号,两名宇航员将能做的事情都做了一遍。直到两个文明接触的伟大使命变成了两个两个文明的干瞪眼游戏,两名人类先驱才不得不承认:他们输得很彻底。

黑太阳,确实不符合任何人类已知的天体的运动规律。

飞船所剩下的燃料,已不足第三次的尝试了。

到了该回去的时候了。

两人正在收拾东西。这会儿的主要的工作是把飞船船舱里需要固定的东西都绑扎、固定好,防止在返回过程中失重飘飞。轨道舱的门关闭之前,瓦列里最后看了一眼里面的设备仪器。设备仍然整齐地安装在工位上,轨道舱里现在堆满了垃圾。仪器不会被保留下来——飞船在返回地球时,轨道舱会被抛弃。在地球大气里烧毁,成为天边的一颗流星,也许会被人看见,也许不会。

就这样了。

“真是见鬼……怎么会这样?”列奥尼多维奇的嘴里还在碎碎念,像任何一个刚刚撞见鬼的人那样。他为刚才的经历感到愤愤不平,毕竟从来没见过这样的怪现象,“瓦列里……你能想象这样的结局吗?”

“出发前我把我能想象的情况都想象了。我怎么会知道!居然能奇怪到这种地步。列奥尼多维奇,我想我们周末可以一起去划船钓鱼了。”

“划船的计划,我准备推到圣诞节假期了,瓦列里。划船的时候我会把互联网远远地抛在后面,但是最近这两个星期我都不想错过任何来自天上的新闻了。”

“不管怎么说,回去的路是一如既往的,不会再有什么奇怪的事情发生了。”

瓦列里说着,将自己在座舱里固定好。

“返回检查单完成。呼叫首都指挥中心,任务飞船已做好返航准备。”

“首都指挥中心收到。”

列奥尼多维奇突然笑了:“你说,接替我们的下一班飞船会怎么样?等到另外两个倒霉蛋看到这个的时候,我能想象他们的脸上会有什么样的表情。”

“回去复盘的时候调看任务记录吧,列奥尼多维奇,”瓦列里说道,“当时我的表情一定着急得有趣。”

“很抱歉打断你们二位的对话,”来自首都指挥中心的无线电声音说道,“但是不会有下一艘飞船了。就在几分钟前,我们刚刚接到消息,国际空间机构已经决定不再派遣载人飞船去接近黑太阳了。你们二位做得很好,应该感谢你们二位,但刚才发生的一切已经远远超出我们所有人的理解能力了。国际空间机构对本次任务的评估是:载人抵近黑太阳的手段很困难,出于某种我们未知的原因,不可行。后续的任务也许会交给无人探测去完成。你们收集到了重要的数据,亲眼目睹了那个谜团——你们将会是这个世界上距离真理最近的人类,你们已经成功了。回来吧,二位!伟大的祖国在期待你们的凯旋。”

15分钟后,发动机向前进的方向点火,加速度持续了大约四分半钟的时间。进行脱离轨道的机动动作,抵消原有的速度,飞船会沿着地球另一端的轨道开始往地面下降。返回舱的着陆场和发射场一样,都在H国境内,因此此时要在地球另一面的轨道上执行机动动作。窗外的地球依旧是宁静的夜,和出发前一样,就好像什么也没发生过。随即,微动发动机再次启动,推动飞船旋转调整变成直立的姿态,以船尾对准下方的大地。这样做的好处是避免返回舱进入大气时发生不必要的滚转,同时确保三个舱段在大气中坠落的轨迹各不相同,防止落区碰撞。阳光经过大气层的折射和散射呈现出一道天边的深蓝,在现在的这个位置,透过舷窗,即使是在黑夜也能看见那道蓝光。后来晨线出现了,从天边渐渐挪移了过来。如山顶上的人俯瞰潮线唤醒江河般,宇航员正看着太阳唤醒沉睡的世界。再后来,R国一千七百零九万平方公里的广袤土地浮现在两人眼前。

飞船发出一阵强烈的震动,电路激活了爆炸螺栓,飞船完成了解体。返回舱,此时已成为一个独立的部分,像一颗流星,划着弧线向地面坠去。

#### 黑障与伞

黑障,是指航天飞船的返回舱在以超高速进入大气层时会产生激波,使返回舱表面与周围气体分子呈黏滞和火烧状态,热量不易散发,形成一个温度高达几千摄氏度的高温区。本文前文有向读者解释过等离子体的概念,因此读者很容易想到:高温区内的气体分子极易被分解和电离,形成包裹返回舱的等离子体团。这种等离子体的包裹,会使返回舱与外界的无线电通信衰减,甚至中断。

如果读者难以理解那样的情景,那就请想象自己正坐在狭窄拥挤的钟形金属舱室里,从数百公里的高空向地面坠落,身边坐着的是同样面对着叵测命运的两名同伴。剧烈的晃动令人眩晕,耳边传来持续嗡嗡的爆鸣。极高温的烈火刹那间包围在舱室外,明亮的火光从舷窗里直射进来。无线电通信、定位和测距的仪器完全失效。温度急剧上升,但还不到令人不适的地步,因为身下的热盾起到了防护作用。

黑障会持续大约20分钟的时间,这是航天任务过程中最惊险的时刻,人类历史上许多令人震颤的航天事故也大都发生于这个过程。1971年6月29日,前苏联的三名宇航员在完成人类历史上第一次伟大的空间站对接之后,驾驶“联盟11号”与“礼炮1号”空间站脱离,开始返回地球。不幸的是,连接两舱的分离插头分离过程中,返回舱的压力阀被震开,密封性被破坏,导致航天员所在的返回舱内空气快速泄漏,舱内迅速减压。这段时间里无线电无法与外界取得联系,外界对此毫不知情,直到苏联航天机构收到救援队传回的、代表航天员全部死亡的代码“1-1-1”,才意识到苏维埃的英雄已经离开了人世。三人根本来不及作过多反应,就因急性缺氧窒息以及体液沸腾而死亡了。

不过在我们的故事里,瓦列里和列奥尼多维奇所乘坐的飞船是经过现代化改进的成熟技术,已经过上百次实践的证明,故基本不用担心这个问题。返回途中,两人是沉默无言的,这是R国宇航员的一种默契——因飞船返回地球时的突然的剧烈颠震咬到自己舌头的事件确有发生,而且屡见不鲜。坠落过程中,计算机会自动调整返回舱在载入时的姿态,防热大底会与前进方向保持一定的夹角。尽管读者会觉得以返回舱的底部会正对着坠落的方向可以获得最大的阻力减速,但其实这也会造成宇航员承受过大的负荷。夹角可以为返回舱提供一定的气动升力,因此这被称为弹道升力式再入。

这段穿越黑障的航程虽然惊险,但基本还是平稳的。刚刚离开黑障大约三四秒,飞船的船身因为扰动又开始剧烈晃动起来了。不过无线电通信恢复,舷窗上灼烧的黑色痕迹明显,但是窗外的光线却开始变得柔和起来了。

距离地面大约10公里的时候,返回舱又传来了一次强烈的振动,坐在返回舱里的人可以明显的感觉到返回舱的一侧传来强烈的冲击的力量——伞舱盖自动弹开了。

返回舱的伞,一组共四个。首先弹出的是较小的引导伞,引导伞会利用拖曳的力量拽出更大的减速伞,完成使命后就即刻脱离了,而这一级减速伞又会成为下一级减速伞的引导伞。两伞依次交替、拖曳展开后,主伞才会打开。当然,这一型飞船的返回舱当然有应对应急突发状况的备份主伞,但采用的是冷备的方式,如果没有发生主伞无法正常工作的紧急情况,备用伞就不会展开——不像大多数采用热备方案的载人飞船返回舱那样,使用多个数量过饱和的伞同时展开工作,即使安然无事,也会正常展开。

返回舱徐徐下降,距离地面还有数公里。瓦列里和列奥尼多维奇知道,他们已经度过了航天任务中最惊险的难关。接下来只要静待防热盾在靠近地面时自动脱落,返回舱底部的一组小型的反向推进火箭启动,在落地的瞬间将返回舱和地面的相对速度降低到至少每秒四米以下来减小触地瞬间的冲击力。然后,任务就算是圆满完成了。

#### 蓝鸟搜救队

早上六点多的时候,天空还是一片夜幕未散的景象,不过这个时候太阳已经出来了,风景和昨天发射的时候简直一模一样。从远处看,有四个灰色的发光小点正排成一队,在辽阔的半沙漠草原地平线上挪移。而如果将视线拉近一点看,它们其实是周身蓝色的四辆修长、略显笨拙而又劲力十足的卡车。

四辆卡车的主体部分很相似,拥有三对齐人高的大直径越野车轮,底盘是全密封的平底船壳的造型。驾驶舱拖着长长的通信天线,前挡风玻璃被车壳梁一分为三,拥有军用车辆特有的蹬车踏板和顶舱盖设计。这会儿车前灯亮着,车身的侧面还悬挂着梯子、工兵铲、军用水桶之类的工具,车体随着地形轻微地起伏摇晃着。

“首都指挥中心呼叫蓝鸟,直升机已经发现他们了,正在上方盘旋。。”

“蓝鸟收到,我们正往那边赶过去。航天员的状态还好吗?”

“反馈说看不清外面的状况,所以还没有出舱,但是应该一切正常。可能有点耳鸣,因为瓦列里说他没有听见直升机的声音。”

“收到。”

蓝鸟系列救援车的历史可以追溯到上世纪70年代,从诞生之初就是为太空返回舱救援所设计的。救援车组共四辆,均为拥有三对轮的两栖越野车,在大风雨雪恶劣天气下都可以正常作业,在水中能够使用独立的水流推进器(而不是轮胎射流)高效前进。一辆为客运版本,拥有一个全密封的高强度玻璃钢外壳客舱,配备了10个座位,折叠展开后能变成6个床位。为了让归航的宇航员尽可能感到舒适,客舱里的环境像个豪华公寓,很多结构甚至是桐油的实木家具。还配备了供暖和空调系统、医疗设备、无线电导航系统和其他设备,供宇航员休息和接受各种身体平衡性的检查测试。两辆为货运版本,安装有吊装运输设备和一个焊接的铝制货运平台,可以将返回舱吊起、直接带走。剩下一辆则驼着另一辆特种车:一辆使用阿基米德螺钉浮筒代替车轮前进的螺旋推进车。这种有点古怪的全地形螺旋推进车的外形十分科幻,能够应付江河、湿地、沼泽、沙漠、雪地冰面、苔原等复杂的地形。如果特殊作业的有必要的话,卡车可以把特种车放下,让它独自游刃有余地穿过大直径轮胎难以逾越的险境,解决必要的问题。

对于坠落在地面上的返回舱,有多种可以定位的手段。首先计算机会先模拟计算出返回舱坠落的大概位置,之后再根据返回舱发出的无线电信号进行卫星定位。

返回舱最初映入视野的时候,同样也是地平线上一个灰色的小点。实际上这型飞船的返回舱体积很小,直径只有2.3米,内部空间则不过四个立方米。而体型较大的直升机悬停在返回舱上方三十几米的地方,闪烁的红色信号灯从很远的地方就能看见。橙色的主伞倒是很显眼,在草沙混合的地面上占据了一大块,被直升机螺桨的下洗气流吹得皱起。

“蓝鸟呼叫飞船,我们到了。”

“飞船收到,这里是飞行指挥官波尔塔诺夫。”

“你们的情况还好?”

“还不错。昨天我们刚刚离开地球,今天就回来了。任务时长很短,对前庭功能影响应该不大。我想这大概是我第一次体验离开地球之后还能自己用双脚从地上站起来的感觉。”

“听上去不错。但这是一码事,出舱之后我们还是要对你们进行完整的航天医学检测,以防万一。”

“没问题。”

返回舱落地非常平稳,笔直地立在地上,扬起的尘土在返回舱周围画了一个漂亮的圆。

上午7点18分的时候,搜救队员按照规定的流程对返回舱的外壳进行了辐射评估,检查了可能存在的毒性推进剂的残留。确认无误之后,他们旋动紧固机构的连杆,推开了舱门。

返回舱里是空的,连宇航服也没留下。

#### 一个和三个谜团

“波尔塔诺夫……你们能听见我们说话吗?”

“可以的,通信一切正常。”

“我是想说……你们是不在返回舱里面吗?”

这句话刚刚开口,搜救人员就意识到不对劲了,因为两人正在用返回舱里的通信设备说话。

“我们仍然坐在我们的位子上。你们遇到什么困难了?”

搜救人员目瞪口呆。

拜科努尔附近的着陆场,曾经作为许多次太空任务的着陆地点,有一个火箭墓场的外号,因为许多次任务的残骸返回大气层后没有完全燃烧,最终都会坠落在这里。搜救人员的第一反应是:这可能是曾经某次太空探索任务遗留下来的返回舱没有被带走,而他们找错了搜救对象。但是船舱里一尘不染的设备和急救物资包裹却在告诉他们:这就是昨天出发的那条飞船。不一会儿,一个飞船上的食品盒被送到了搜救任务指挥官的手上,里面装着新鲜的食品。

“无线电定向检查!”

“无线电定向检查确认无误,无线电就是从飞船天线里发出来的。”另一名搜救人员的手指杵在无线电发射装置上,“没有任何问题!”

搜救人员对着飞船船舱里的通话设备大喊了一声:“能听见吗?”,随即,声音准确无误地从另一侧的电台里传了出来。

一种毛骨悚然的感觉爬上了每个人的脊梁背。

同样毛骨悚然的,还有首都指挥中心大厅。这件事情被迅速报告,从航天部门传到了R国国防部门最高机关。媒体的报道被迅速封锁,而来自最高级的指示只有一个简单的命令:拆!

轮锯和焊枪开始全方位作业,从返回舱的仪表和座椅开始拆;专家团很快乘坐直升机赶到了现场,开始检查返回舱的结构、能源、电路和其他系统,又小心翼翼地保证通信不中断,但是仪器的示数提醒着人们:随着时间的推移,这套设备出于不明的原因,发射的无线电信号正越来越弱,即便是为返回舱接入外接能源也没有任何效果。落在其他地方的各个残骸、热盾大底和被风不知道吹到哪里去的各级伞也被找了回来。当时的场面很乱,所有的人的心都提到了嗓子眼。

这个时候只有两个当事人还被蒙在鼓里。瓦列里和列奥尼多维奇还在等待着搜救人员从外面打开舱门,但他们收到的只是外界不断传来的无线电信号,所有人都在安抚他们的情绪,让他们冷静地留在船舱内,并不断时刻报告自己周围发生的变化——包括那些极微小、极不易让人察觉的变化。两人只是不停地回复:他们身边没有任何异常的现象发生。

无线电的强度越来越弱,所有人都被焦急的情绪困扰着。

“波尔塔诺夫,你们能从舷窗看见外面的景象吗?”

“窗户上有黑色烧焦的痕迹,外面不是很清楚……能见度很低,等等……可能是雾,可能是雾导致了能见度降低。”瓦列里说道。

“雾?没有雾!我们没有看见任何雾……上帝啊!你们出舱吧。如果你们能够正常行走就立刻出舱!”

两人解开座位上的固定带,列奥尼多维奇迅速打开了舱门,爬了出去。

陌生感——列奥尼多维奇感到自己被陌生感袭击了。舱外的景象很寻常,但是列奥尼多维奇只是觉得陌生。他引燃一根拉烟的信号棒,在空中挥舞了起来,希望有人能看见他们。

“报告……你们看见了什么?”

“列奥尼多维奇说他看见了长得很高的青草地,大概比膝盖低一点,能淹没人的脚掌……大部分的远景都在浓雾里。”还在船舱里的瓦列里回答道。此时无线电的信号已经很弱了,而且变得难以分辨、模糊不清。

“瓦列里……我们有些听不清你的声音。瓦列里,收到请回答。瓦列里?!”

无线电里很安静,只有一些自然噪音在听筒里回荡,传达着一些没有意义的信息。

“他们彻底失踪了!”

9月17日上午7点32分,R国发射的飞船的工程师瓦列里•伊萨耶维奇、飞行指挥官列奥尼多维奇•波尔塔诺夫完全失联,两人下落不明。

瓦列里发现他不再能够与搜救队联系,便放下了应答机。跟随列奥尼多维奇爬出舱外,他看到的景象是浓雾里的一片开阔的青草地。

草丛里有一只老猫,此刻正看向自己。

(未完待续)
Urie96 commented 1 year ago

image I added args -w 10, but the Chinese did not wrap

NewComer00 commented 1 year ago

Same issue here😢
I have been using glow for a long time, and I love this elegant TUI tool. I hope it could be fixed soon.

Description

When some long Chinese plain texts are given in the md file:

  1. Line wrapping does not work properly for the long Chinese plain text (regardless of the -p flag).
  2. If movements (j,k) applied, the pager seems to 'eat' some lines on the top and repeat the lines at the bottom of the terminal.

Environment

Steps to Reproduce

The last line is not wrapped with the following command:

glow -w 10 test.md

The last line is repeated after the following operations:

glow -p test.md
3jkjkjkj
NewComer00 commented 1 year ago

I also did the test using Textualize/rich, which seems to be fine.

In the following code, rich uses less -r as its pager command. Maybe the problem lays in the implementation of the pager?

import os
from rich.console import Console
from rich.markdown import Markdown

def render_markdown_file(md_file_path):
    with open(md_file_path, 'r') as file:
        content = file.read()

    console = Console()
    md = Markdown(content)
    with console.pager(styles=True):
        console.print(md)

def main():
    render_markdown_file('test.md')

if __name__ == '__main__':
    os.environ['MANPAGER'] = 'less -r'
    main()
bashbunni commented 1 year ago

@NewComer00 I think the issue lies in our Glamour markdown rendering library not wrapping this properly. We are using less -r for our pager as well, unless the user sets another pager in their environment.

main.go

    // display
    if pager || cmd.Flags().Changed("pager") {
        pagerCmd := os.Getenv("PAGER")
        if pagerCmd == "" {
            pagerCmd = "less -r"
        }

        pa := strings.Split(pagerCmd, " ")
        c := exec.Command(pa[0], pa[1:]...) // nolint:gosec
        c.Stdin = strings.NewReader(content)
        c.Stdout = os.Stdout
        return c.Run()
    }

    fmt.Fprint(w, content)

I'm leaving this as an issue in Glow for now while we write some tests in Glamour to try and reproduce the issue. It could very well be an issue in both Glow and Glamour, so I won't move it to our other project unless I know for sure.