한 번의 클릭으로 tmux 및 zsh 기록을 지우는 방법은 무엇입니까?

한 번의 클릭으로 tmux 및 zsh 기록을 지우는 방법은 무엇입니까?

tmux clear-history한 번의 클릭 조합으로 tmux 기록( ) 및 zsh()를 지우는 방법은 무엇입니까 ?zle clear-screen

화면을 지우는 일반적인 방법은 ^L다음을 추가하는 것 입니다 .tmux.conf.

bind -Troot C-l send-keys C-l\; clear-history

그러니 ^L화면을 지우고, 마지막 화면을 제외한 거의 모든 기록을 지워보세요.

다음에 일어난 일이 ^L모든 것을 말해 줍니다.

원클릭 조합으로 동일한 효과를 얻을 수 있나요?

bind -Troot C-l send-keys C-l\; clear-history\; send-keys C-l\; clear-history

작동하지 않습니다. 다음 중 어떤 일도 발생하지 않습니다.

bind -Troot C-l send-keys C-l C-l\; clear-history

답변1

노력하다:

bind -n C-k clear-history

이는 ctrl-k를 tmuxclear-history 명령에 바인딩합니다. -n 바인딩 후 tmux 명령 접두사(기본적으로 Ctrl-b)를 실행할 필요가 없습니다. 나는 bash를 사용하므로 ctrl-l은 이미 명령줄에 "clear"를 입력하는 것과 동일합니다. 이 두 키를 사용하면 모든 스크롤 버퍼를 화면 밖으로 이동한 다음("clear") 모든 기록을 삭제하는(tmux "clear History" 명령) 멋진 ctrl-l, ctrl-k 조합을 얻을 수 있습니다.

또한 send-keys -R재설정(지우기) 화면을 실행합니다.

bind-key b send-keys -R \; clear-history

그러면 화면과 스크롤백 버퍼가 지워집니다.

답변2

나는 결국 다른 방식으로 작업을 수행했습니다 zsh.

# ~/.zshrc
clear-scrollback-and-screen () {
  zle clear-screen
  tmux clear-history
}
zle -N clear-scrollback-and-screen
bindkey -v '^L' clear-scrollback-and-screen

한 가지 이유는 Vim에 Cl 지도가 있는데 가끔 이 지도를 누르면 Vim 화면이 지워진다는 것입니다.

하지만 이 솔루션에는 단점이 있는데, 이는 셸에서만 작동한다는 것입니다.

답변3

GUI 솔루션:

  • 그놈에서는 사용자 정의 명령/스크립트를 실행하기 위해 사용자 정의 키보드 단축키를 설정할 수 있습니다.이 기사어떻게 하는지 설명해주세요

  • KDE에서는 사용자 정의 명령/스크립트를 실행하기 위해 사용자 정의 키보드 단축키를 설정할 수도 있습니다.이 기사어떻게 하는지 설명해주세요

주택 솔루션:

쉘 별칭과 함수를 사용하여 이 명령을 구현할 수 있습니다... 파일 아래에서~/.zshrc

예를 들어 다음을 추가 ~/.zshrc하고 셸을 다시 시작합니다.

c() {
   tmux clear-history
   clear-history
   clear
   reset
}

alias cc='clear'

c그런 다음 또는 cc(명령으로)를 사용하여 원하는 작업을 수행 할 수 있습니다 .

관련 정보