Gnome 終端,「less」在遊標位置開啟文件,而不是在終端頂部

Gnome 終端,「less」在遊標位置開啟文件,而不是在終端頂部

如果我嘗試使用 開啟文件less,其內容從遊標位置開始,而不是從螢幕頂部開始。

螢幕截圖

這種情況僅發生在 gnome-terminal 中,例如在終結者中一切正常。我該如何修復它?

答案1

正如egmont所提到的,less應該能夠定位遊標,並且確實有辦法做到這一點。根據less手冊頁:

選項也取自環境變數“LESS”。例如,為了避免每次呼叫 less 時鍵入“less -options ...”,您可以告訴 csh:

setenv LESS “-選項”

或如果您使用 sh:

LESS="-選項";出口較少

因此,為了讓less遊標位於頂部重繪螢幕,請執行以下操作

echo   'LESS="-c"; export LESS' >> ~/.bashrc

-c選項代表“清除螢幕”,將less自動附加到每個選項,甚至可以在 TTY 中工作,清除螢幕並重新定位遊標

答案2

gnome-terminal儘管使用了一種古老的(基於 gtk2 的)小部件,但terminator兩者都依賴vte終端仿真小部件。terminator更準確地說,terminator使用vte版本 0.28.2(在 Ubuntu 14.04 和 16.06 中),而在 Ubuntu 14.04 中gnome-terminal使用版本 0.34.9,在 Ubuntu 16.04 中使用版本 0.42.5。vte

與大多數軟體一樣,新版本應該更穩定、功能更豐富並且包含更少的錯誤(儘管某些新的錯誤、回歸、人們不喜歡的更改等可能會不時地潛入)。vte在過去 3 年中確實收到了大量更改(修復),包括這項更改。

vte旨在用作xterm模擬行為的參考(除非它看到有充分的理由發散,這種情況很少發生)。在這種情況下,我們沒有看到分歧的原因(並且可能我們有一個有效的錯誤報告,關於vte切換到備用屏幕時間標位置無法按預期工作),因此我們修復vte為像xterm.

換句話說,假設我們接受 定義了正確的行為,Ubuntu 14.04gnome-terminal以及 14.04 和 16.04 都被破壞了。遠遠落後於版本,當他們最終發布基於 gtk3 的版本時,將收到此修復(以及許多其他修復)。terminatorxtermterminatorvte

我知道您不喜歡新的行為less(實際上我也不喜歡它,而且我更喜歡它意外地與舊行為一起工作的方式),但是,故意破壞以實現以前的行為vte將是絕對錯誤的方法應該能夠將遊標定位在螢幕頂部。如果當前的行為確實讓您感到困擾,我建議您針對.vtelessless

相關內容