쉘에서 현재 디렉토리 미리보기

쉘에서 현재 디렉토리 미리보기

쉘(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를 누르면 명령줄 아래 제안 사항이 사라집니다.

관련 정보