종료 후 vim 텍스트를 표시하지 않도록 bash 표시를 설정하는 방법은 무엇입니까?

종료 후 vim 텍스트를 표시하지 않도록 bash 표시를 설정하는 방법은 무엇입니까?

내 문제는 간단하지만 쉽게 구성/설명하기가 어렵습니다.

다른 계정으로 여러 Unix 컴퓨터에 로그인합니다. vim에서 텍스트 파일을 편집할 때 user1두 가지 다른 내용이 표시됩니다.user2

사용자 1

를 입력하면 vim filenamevim이 파일을 열고 편집합니다. 닫으면 파일의 전체 텍스트가 사라지고 이전에 존재했던 터미널 명령/출력이 표시됩니다.

사용자 2

를 입력하면 vim filenamevim이 파일을 열고 편집합니다. 닫으면 vim여전히 디스플레이에 있었을 때 디스플레이에 있던 파일 부분과 모든 이전 터미널 디스플레이가 위로 스크롤됩니다. 파일에 한 줄만 있음에도 불구하고 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모든 설정을 알고 있지만 이 동작과 관련된 설정/구성을 찾지 못했습니다.

이 동작은 쉘 구성과 관련이 있습니까? user1시나리오에 표시된 동작을 얻으려면 이러한 항목을 어떻게 설정해야 합니까 ?

이 동작을 찾기 위해 어떤 키워드를 사용해야 할지 모르기 때문에 이를 쉽게 설명할 수 없으며 Google에 검색하기가 어렵습니다. 추가 설명이 필요하면 알려주시기 바랍니다.

답변1

이 동작의 이유 중 하나는 사용자별 터미널 설정 때문입니다.

예를 들어:

  • 사용자 1은 TERM=을(를) 사용하고 있습니다.xterm, 이 경우 vim을 종료할 때 터미널이 지워집니다.
  • 사용자 2는 TERM=을(를) 사용하고 있습니다.VT100, 이 경우 vim을 종료할 때 터미널이 지워지지 않습니다.

user1이 사용하는 단말기를 확인 echo $TERM하고 user2에도 동일한 단말기를 설정합니다. 배쉬의 경우:

용어=xterm;내보내기 용어

답변2

이 행동은 내가 그것을 사용하지 못하게 하는 유일한 것입니다 screen. "screen" 터미널을 사용하고 이를 "xterm"으로 변경해도 도움이 되지 않습니다.

altscreen on~/.screenrc에 옵션을 추가하면 문제가 해결되었습니다. 화면 매뉴얼에서:

altscreen on|off

on으로 설정하면 xterm과 마찬가지로 가상 터미널에서 "대체 화면" 지원이 활성화됩니다. 초기 설정은 "끄기"입니다.

답변3

이 옵션을 모두 시도했지만 결과는 예상한 것과 다릅니다. !clear전체 화면이 지워지고 이전 bash 명령이 남지 않습니다.

간단하고 올바른 해결책은 연결->데이터 아래 퍼티 설정에서 터미널 유형 문자열을 터미널 세부 정보로 설정 xterm하고 터미널 속도를 터미널 세부 정보로 설정하는 것입니다.38400,38400

설정을 저장하면 됩니다.

답변4

내 경우에는 TERM 설정이 두 시스템 모두에서 동일했지만 시스템 중 하나의 vim 설정은 t_te시스템 전체 vimrc 설정과 달랐습니다.

해결책은 여기에서 찾을 수 있습니다:https://vi.stackexchange.com/questions/432/prevent-vim-from-clearing-the-terminal-after-exit 즉, 바로 :set t_te=당신의 ~/.vimrc.

관련 정보