zsh에서 한 줄 위로 스크롤하려면 어떻게 해야 합니까?

zsh에서 한 줄 위로 스크롤하려면 어떻게 해야 합니까?

나는 bash와 함께 iTerm2를 사용하고 있으며 를 입력하여 기록 버퍼를 한 줄 위로 스크롤합니다 Shift+Up. zsh 쉘로 전환하면 2A. 키보드만으로 zsh에서 한 줄 위로 스크롤하려면 어떻게 해야 합니까 Shift+Up?

답변1

나는 그것이 터미널 에뮬레이터에 달려 있다고 생각합니다.

예를 들어,zsh, konsole에서는 작동합니다 Shift+ Up.
xterm에서는 그렇지 않지만 Shift+ 작동합니다 PgUp.

iTerm2를 사용하면 기본적으로 작동하는 것 같습니다.

  • 한 줄 위로 이동하려면
  • 한 줄 아래로 이동하려면

답변2

찾고 있는 기능은 up-historyup-line-or-history위젯( down-historydown-line-or-history아래로 스크롤)에서 제공됩니다.

기본적으로 up-line-or-history에 바인딩되어야 Up하지만 를 사용하여 (거의) 다른 키 시퀀스에 바인딩할 수 있습니다 bindkey. 터미널에서 특수 키(인쇄 가능한 문자를 생성하지 않는 키)는 2Afor Shift+ 의 예에서 볼 수 있듯이 쉘에 의해 해석되거나 해석되지 않는 일련의 키를 생성합니다 Up. 이러한 키 시퀀스는 터미널 에뮬레이터마다 다를 수도 있습니다. 터미널에 대한 올바른 키 순서를 얻으려면 터미널을 열고 Ctrl+를 누른 v다음 원하는 키 조합( Shift+ Up)을 누르십시오. 내 터미널(rxvt-unicode)에서 ^[[a. 그런 다음 시퀀스를 up-history위젯에 바인딩할 수 있습니다.

bindkey <in-string> up-history

<in-string>찾은 시퀀스로 바꾸십시오 . 나의 경우에는

bindkey '^[[a' up-history

참고 1:그렇지 않으면 해석될 문자가 포함될 수 있으므로 시퀀스를 따옴표로 묶어야 할 가능성이 높습니다 zsh.

노트 2:일부 키 조합은 동일한 키 시퀀스를 생성할 수 있습니다. 예를 들어, Ctrl+ 와 결합된 문자는 Shift일반적으로 단지 와 결합된 동일한 문자와 다르지 않습니다 Ctrl. Ctrl++ Shifta+ 모두 일반적 으로 Ctrl. 일부 터미널 에뮬레이터에서는 + 조합이 터미널 자체의 바로 가기에도 사용되며 셸에서는 사용할 수 없습니다.a^ACtrlShift

관련 정보