如何将终端设置成这种好看的粘连效果?(mosh)

发布于 2022-09-03 14:27:56 字数 220 浏览 12 评论 0

mosh是一个ssh shell

可能gif帧少,未把效果显示完美。
gif

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

相权↑美人 2022-09-10 14:27:56

我首先给出mosh源代码地址,这种事情建议自己读源代码自己跟踪程序行为比直接问直接获取一个答案更有趣。

实际上mosh的实现用了 ANSI 转义字符,关于 ANSI 转义字符这个概念,可以在网上找到很多介绍,我就不再赘述了,我直接给出一个下划线的例子:

#include <stdio.h>

int main(const int argc, const char * argv[], const char * envp[])
{
        printf("\033[0;4mabc\n");
        return 0;
}

这段程序编译之后运行可以打印出一行带有下划线的字符串abc

mosh具体的代码在src/terminal/terminalframebuffer.cc这个文件里实现的Renditions::sgr()方法,如果underlined被置位,那么ret实际上就会返回含有类似\033[0;4m这样的字符串,这样的字符串在终端打印出来的时候就会表现为在指定部分有下划线。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文