Vim과 같은 전체 화면 프로세스를 종료한 후 쉘이 이전 줄로 돌아가도록 하는 방법

Vim과 같은 전체 화면 프로세스를 종료한 후 쉘이 이전 줄로 돌아가도록 하는 방법

나는 연결한다Z-쉘Red Hat Enterprise Linux 6.2 시스템에서 다음을 통해퍼티. Unix 셸에서 Vim 등의 전체 화면 프로세스를 종료하면 셸 프롬프트가 화면의 마지막 줄에서 시작됩니다. 위 화면에는 여전히 해당 프로세스의 컨텍스트가 표시되므로 해당 프로세스를 열기 전에 쉘에 표시된 모든 내용이 손실되었습니다.

이것은 내 Ubuntu 상자에서는 발생하지 않습니다. 프로세스를 종료한 후 마지막으로 입력한 명령 아래 줄로 돌아갑니다.

zshrcUbuntu 상자처럼 작동하도록 하려면 어떤 옵션을 변경할 수 있습니까 ?

답변1

나도 이 문제를 본 적이 있다. 터미널->기능에서 PuTTY 설정을 확인하세요. "대체 터미널 화면으로 전환 비활성화"가 선택되어 있으면 선택을 취소하십시오. (해당 페이지의 모든 설정은 선택 취소되어 있습니다.) 해당 옵션에 대한 도움말은 유망해 보입니다.

실패하면,이 페이지인터넷 검색을 통해 몇 가지 아이디어를 얻을 수 있다는 것을 알았습니다. 제대로 작동하도록 일부 terminfo 항목을 설정할 수도 있습니다.

답변2

오래 전에 이 문제를 해결한 후 Vim에는 이 문제가 없었지만 비슷한 문제가 발생했습니다 less. 이는 less. man​내가 찾은 원인은 호출될 때마다 LESS자동으로 전달될 인수를 나열하는 환경 변수 였습니다. 이 문제를 일으킨 less옵션은 다음과 같습니다 .LESS-X

-X또는--no-init

termcap 초기화 ​​및 초기화 해제 문자열을 터미널로 보내는 것을 비활성화합니다. 초기화 해제 문자열이 화면 지우기와 같은 불필요한 작업을 수행하는 경우 이는 때때로 바람직합니다.

나는 또한에게서 배웠다.유닉스 및 리눅스 – “ less --quit-if-one-screen없음 --no-init-X/ 를 비활성화하면 / 도 --no-init비활성화해야 합니다 (설정한 경우).-F--quit-if-one-screen

종료 시 항상 화면을 복원하도록 수정하려면 해당 셸 초기화 파일의 less값을 변경하세요 . 이는 Bash, Zsh 및 Fish LESS용입니다 . 이 파일에 명령을 추가하십시오 . 또는 for fish. 미리 실행하여 / 문 에 복사할 기존 플래그를 확인할 수 있습니다 ..bashrc.zshenv.config/fish/config.fishexport LESS='<all the flags you want, without -X or -F>'set -gx LESS <flags>echo $LESSexportset

답변3

나는 그것을 알아! 내가 해야 할 일은 $TERM으로 설정하는 것뿐입니다 xterm. 예전에는 그랬어linux

export TERM=xterm 

링크와 힌트를 보내주셔서 감사합니다, David!

관련 정보