Command-Line
向終端應用程序添加頁面
我可以用一個例子來解釋我的問題,讓我們以命令為例
man
,當我們在終端中執行此命令時,它會在新視窗中打開頁面,您無法在終端中看到您之前所做的事情。如何做到這一點?我正在開發一個終端應用程序,我希望它在輸入應用程序名稱時以類似的方式工作,它應該在新頁面上打開。
編輯:Vim 的範例,當我們
vim
在終端中鍵入時打開 vim,它的界面在螢幕上。我如何使用我正在製作的應用程序做到這一點。
您所詢問的內容稱為備用螢幕緩衝區,應用程序通過向終端發送 ESC 程式碼來切換到備用螢幕。
如果您的應用程序正在使用 ncurses 庫,那麼將有執行此操作的函式。如果您想從 shell 腳本執行此操作,您可以使用
tput
發送適當的程式碼。tput smcup # switch to alt screen tput rmcup # switch back from alt screen
注意:大多數(但不是全部)終端仿真器都支持這一點。那些沒有(或禁用它,這是某些終端仿真器中的一個選項)只是忽略程式碼。