Command-Line

向終端應用程序添加頁面

  • June 6, 2021

我可以用一個例子來解釋我的問題,讓我們以命令為例 man,當我們在終端中執行此命令時,它會在新視窗中打開頁面,您無法在終端中看到您之前所做的事情。如何做到這一點?

我正在開發一個終端應用程序,我希望它在輸入應用程序名稱時以類似的方式工作,它應該在新頁面上打開。

編輯:Vim 的範例,當我們vim在終端中鍵入時打開 vim,它的界面在螢幕上。我如何使用我正在製作的應用程序做到這一點。

您所詢問的內容稱為備用螢幕緩衝區,應用程序通過向終端發送 ESC 程式碼來切換到備用螢幕。

如果您的應用程序正在使用 ncurses 庫,那麼將有執行此操作的函式。如果您想從 shell 腳本執行此操作,您可以使用tput發送適當的程式碼。

tput smcup  # switch to alt screen

tput rmcup  # switch back from alt screen

注意:大多數(但不是全部)終端仿真器都支持這一點。那些沒有(或禁用它,這是某些終端仿真器中的一個選項)只是忽略程式碼。

引用自:https://unix.stackexchange.com/questions/653040