[英]Fixed width in Emacs term-mode
我最近更頻繁地使用term-mode(由(term)
調用)來運行一些shell子進程,而且有些事情困擾着我。
問題是這些進程中的一些具有文本UI,並且它們與Emacs不斷變化的窗口大小的交互非常差。 有沒有辦法為術語子進程設置固定的寬度/高度? 實際窗口寬度不必修復,我只希望shell子進程使用常量維度。
您可以覆蓋term-window-width
的定義,如下所示:
(defun term-window-width () 80)
這不會影響emacs窗口的大小,但術語進程始終認為窗口寬度為80列。 您可能還想在term-mode-hook
打開行截斷:
(add-hook 'term-mode-hook
(lambda () (setq truncate-lines t)))
我不完全確定,但我懷疑你要求的行為是不可能的,至少不是通用term
。 你可以(至少部分)修復Emacs窗口的維度(qv, window-size-fixed
變量),但是如果窗口因任何原因得到調整大小,我知道沒有方法可以防止term
更新$COLUMNS
和$LINES
環境變量反映新的窗口維度。 另一方面,如果您使用shell
而不是term
,則可以export
$COLUMNS
和$LINES
所需的任何值,並且它們將在整個會話期間保持$LINES
。 如果我對你的首選配置的理解是正確的,你最好的選擇可能是在一個固定大小的窗口內使用shell
,這樣基於ncurses的應用程序將保持一個恆定的大小,而普通的輸出將只是由緩沖區包裝或滾動按照慣例。 或者,您可以調查multi-term
包; 我曾經看過別人過去推薦的,雖然我不能親自擔保。
編輯:抓住我所說的關於使用shell
。 自從我使用它以來已經很久了; 忘記它通常不支持大多數基於ncurses的程序。 抱歉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.