less 如何接管控制台?

发布于 2024-10-14 04:57:30 字数 69 浏览 3 评论 0原文

我想像 less 那样接管控制台,制作一个更具交互性的应用程序。看起来他们可以完全控制在哪里绘制什么。我怎样才能做到这一点?

I want to take over the console like less does, to make a more interactive app. It seems like they have complete control over what gets drawn where. How can I do that?

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

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

发布评论

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

评论(4

夏了南城 2024-10-21 04:57:30

它使用 ncurses 库来处理终端。

It uses the ncurses library for handling the terminal.

挽手叙旧 2024-10-21 04:57:30

主要是 less 和其他全屏终端应用程序使用交替屏幕模式;也称为 DEC 模式 1049。 terminfo 存储进入/退出此模式所需的字符串。

enter_ca_mode=\E[?1049h
exit_ca_mode=\E[?1049l

进入备用屏幕模式后,您可以通过通常的转义序列完全控制屏幕,绘制到完全在大多数终端上单独的“缓冲区”,使常规缓冲区(例如可能包含 bash 回滚)不受影响。当您再次离开备用屏幕模式时,它会恢复以前的内容和光标状态。

Primarily, less and other full-screen terminal applications use the alternate screen mode; otherwise known as DEC mode 1049. terminfo stores the strings needed to enter/exit this mode in

enter_ca_mode=\E[?1049h
exit_ca_mode=\E[?1049l

Once you enter alternate screen mode, you get full control of the screen by the usual escape sequences, drawing to an entirely separate "buffer" on most terminals, that leaves the regular buffer (such as may contain the bash scrollback) unaffected. When you leave alternate screen mode again it restores the previous contents and cursor state.

云雾 2024-10-21 04:57:30

在系统文档中查找“curses”。

Look up 'curses' in your system's documentation.

漆黑的白昼 2024-10-21 04:57:30

ANSI 转义码可能是一个起点。 http://en.wikipedia.org/wiki/ANSI_escape_code

The ANSI escape codes might be a place to start. http://en.wikipedia.org/wiki/ANSI_escape_code

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