首页 > 解决方案 > 如何使用 OCaml 在终端中隐藏光标

问题描述

我正在尝试构建一个基于终端的文本编辑器。现在,每当我将文本打印到终端时,都会出现一些闪烁,我认为这与光标四处移动有关。

因此,我想尝试在每个打印会话之前隐藏光标,并在打印完成后取消隐藏。但是,我不确定如何使用 OCaml 做到这一点。

我尝试过使用 Lambda-term。但由于某种原因,这不起作用。另外,我不知道仅使用 lambda-term 来隐藏光标有何感受。

标签: ocaml

解决方案


如果您的终端支持,您可以使用civis/cnorm控制序列来隐藏/取消隐藏光标:

(* hide the cursor *)
printf "\027[?25l%!";
sleep 2;
(* restore the cursor *)
printf "\027[?25h%!"

推荐阅读