[英]Configuring solarized colorscheme in gnome terminal, tmux and vim
[英]Emulate a taller terminal within GNOME Terminal and pan up and down
我需要能夠通過上下平移在九行終端內運行不適合九行高終端的 TUI 程序。
我有一台連接到 9 行盲文顯示器 (Canute 360) 的 Raspian 計算機。 盲文由名為brltty
的屏幕閱讀器軟件自動發送到終端的最后 9 行。 終端仿真器是gnome-terminal
,它被預設為 9 行 40 個字符。
我遇到了我們需要運行的 TUI 程序(例如raspi-config
),這些程序假定終端將超過 9 行高,因此無法工作,因為某些選項隱藏在終端 window 的頂部。這意味着它們在 Canute 盲文顯示器上是不可見的。
我無法編輯或更改gnome-terminal
的大小(它需要保持原樣以滿足客戶端規范)。 我無法更改brltty
的行為,因為它是一個外部程序,或者是盲文顯示器的行為。 我可以在 Raspian 中安裝任何程序,但我無法現實地修補和修復具有這種行為的每個 TUI 應用程序,我需要一個可以在用戶遇到問題時隨時應用的修復程序。
raspi-conf
作為測試用例:它假設至少有 12 行終端,但目前只有底部的 9 行可見,從視圖中切斷了關鍵選項(在監視器和盲文顯示器上)。 如果我可以運行一個命令或創建一個允許用戶上下平移的腳本,也許是通過在 9 行終端實例中運行一個更高的終端實例,然后使用鍵盤快捷鍵上下滾動,那么我假設我已經解決了所有類似的 TUI 應用程序的問題。
我無法使用gnome-terminal
歷史緩沖區,因為raspi-conf
固定在整個終端屏幕上。
我查看了gnu-screen
和tmux
resize 選項,但我看不到如何在gnome-terminal
中制作一個大於它而不是小於它或它的一部分的終端 window。 從這個答案中,我讀到“tmux 將 window 的維度限制為 window 所附加的所有會話中每個維度中的最小維度”,因此我認為 tmux 不是完成此任務的合適工具。
我無法調整gnome-terminal
window 的大小(比如 18 行高),然后使用brltty
命令將屏幕的上半部分或下半部分發送到盲文顯示器,因為它的多行支持還不夠發達,無法做到這一點。
我在 macOS 上的 40x9 iTerm window 中嘗試使用 GNU 屏幕(也嘗試在 Windows 上使用 PuTYY) ,以下對我“有效”。
啟動screen
session。在 shell 提示中, echo $LINES $COLUMNS
(或stty size
)輸出9 40
。
這時,長行會像往常一樣在第 40 列換行。 看到這個ls -l /
output:
按Ca:
並運行屏幕命令width -w 80
。
按Ca:
並運行屏幕命令height -w 24
。
現在echo $LINES $COLUMNS
將 output 24 80
和更早的ls -l /
output 重新包裝在 80 列。 由於物理 window 是 40 列,您需要按Ca [
進入復制模式,然后使用方向鍵移動。
現在我開始vim
,只有左上角的部分是可見的。
要查看vim
window 的其他部分,我按Ca [
進入復制模式,然后我可以四處移動。 以下是我移至左下角查看vim
的狀態行時的情況。
因此,對於您的 TUI 應用程序,如果某些輸入區域或按鈕不可見,您也可以執行類似的操作:
Ca [
)Esc
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.