쉘(zsh)에서 작업할 때 자주 발생하는 일은 어딘가에 ed가 있어서 cd
디렉토리를 빠르게 살펴보고 싶다는 것입니다. 을 사용하면 ls
많은 출력이 생성되어 터미널에 남을 수 있습니다. 사용하는 것이 더 좋지만 모든 출력을 ls | less
종료하면 다시 흔적이 남습니다 . less
다음과 같은 작업을 수행할 수 있는 방법을 알고 계시나요? ls | less
하지만 종료하면 less
터미널 화면이 그대로 유지됩니다.
답변1
저에게는 설명하신 대로 작동 less
합니다.less -X
장애를 입히다이 행동.
"대체 화면 버퍼"를 구현하는 단말기가 많습니다.
vim
이는 / 와 같은 편집기에서 사용되므로 nano
종료할 때 터미널이 이전 상태로 복원됩니다.
이 시도:
tput smcup
ls | less
tput rmcup
을 사용할 수 없는 경우 각각 /를 tput
사용해 보십시오 .echo $'\e[?1049h'
echo $'\e[?1049l'
답변2
zsh를 사용한다고 언급했으므로 zsh 내장 탭 완성 기능을 활용할 수 있습니다. "긴" ls 목록은 표시되지 않지만 "ls "를 입력하고 탭을 입력하면 디렉터리와 파일의 이름을 미리 볼 수 있습니다. 현재 작업 디렉터리에서 잠재적으로 "ls"할 수 있는 파일/디렉터리가 무엇인지 확인한 다음 구체적으로 ls를 입력하거나 "-l 파일 이름"을 추가하여 특정 항목을 자세히 보거나 "Control- u"를 사용하여 현재 행을 지우고 다른 명령을 입력할 준비를 하면 탭 완성 제안이 사라집니다.
예를 들어, 내 VM 중 하나에서 "ls "[TAB]하면 다음이 표시됩니다.
user@fbsd:~% ls
.cshrc .mailrc .ssh/
.login .profile .zshrc
.login_conf .rhosts code/
.mail_aliases .shrc inventory.hw.gather.sh*
Control-u를 누르면 명령줄 아래 제안 사항이 사라집니다.