Terminal

如何設置 bash 顯示退出後不顯示 vim 文本?

  • May 26, 2021

我的問題很簡單,但我發現很難輕鬆地建構/解釋它。

我用不同的帳戶登錄了幾個 Unix 機器。在 vim 中編輯文本文件時,user1我看到 2 個不同的東西user2

使用者1

當我鍵入vim filename時,vim 打開並編輯文件。當我關閉它時,文件中的完整文本消失了,我看到了以前存在的終端命令/輸出。

使用者2

當我鍵入vim filename時,vim 打開並編輯文件。當我關閉它時,我在顯示屏上顯示的文件部分vim仍然顯示在顯示屏上,並且所有以前的終端顯示屏都向上滾動。即使文件只有 1 行,在退出 vim 後,顯示屏也會顯示第一行,其餘所有~,我在螢幕底部看到命令提示符。

細節

$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
$ vim --version
VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 12 2009 07:08:36)

我比較了vimrc兩個使用者的文件,我知道所有設置,但沒有找到與此行為相關的任何設置/配置。

這種行為與 shell 配置有關嗎?如何設置這些東西,以便獲得user1場景中所示的行為?

我無法輕鬆地描述這一點,也很難用Google搜尋,因為我不知道用什麼關鍵字來尋找這種行為。讓我知道,如果我應該進一步詳細說明。

該行為的原因之一將是每個使用者的終端設置。

例如:

  • User1 正在使用 TERM= xterm,在這種情況下,當您退出 vim 時,它將清除終端。
  • User2 正在使用 TERM= vt100,在這種情況下,當您退出 vim 時,它不會清除終端。

檢查使用者 1 使用的終端,echo $TERM並為使用者 2 設置相同的值。對於重擊:

期限=xterm;出口期限

這種行為是唯一讓我遠離使用screen. 它使用“螢幕”終端並將其更改為“xterm”並沒有幫助。

altscreen on在 ~/.screenrc添加選項解決了它。從螢幕的手冊:

altscreen on|off

如果設置為 on,則在虛擬終端中啟用“交替螢幕”支持,就像在 xterm 中一樣。初始設置為“關閉”。

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