잘라내기/복사/붙여넣기를 위한 "zsh" 명령은 무엇입니까?

잘라내기/복사/붙여넣기를 위한 "zsh" 명령은 무엇입니까?

zsh잘라내기, 복사 및 붙여넣기 명령(또는 위젯 ID)을 다른 이스케이프 시퀀스, 즉 내 터미널 프로그램에서 보낸 시퀀스에 구성하고 바인딩 하고 싶습니다 . 문제는 내가 모르는 것과 cut명령 이 무엇인지 모른다는 것 copy입니다 .pastezsh

검색해서 읽어보았 man zshzle으나 소용이 없었습니다. 아는 사람 있나요?


이것은 기본적으로 내 프로젝트에서 하려는 작업입니다 .zshrc.

bindkey '^[x' cut
bindkey '^[c' copy
bindkey '^[v' paste

하지만 실제 올바른 cut명령이 무엇 copy인지 잘 모르겠습니다 paste...

답변1

(예, 맞습니다. Zsh에서는 키보드 명령을 "위젯"이라고 합니다.)

당신이 사용하는 경우Zsh용 emacs키맵(기본값이므로 아마도 그럴 것입니다.) 그러면 cut, copy& paste가 호출되고 , kill( 그들은copyyank이맥스).

그러나 실제로 존재함에도 불구하고

후자의 두 가지는 실제로 일반적으로 사용되지 않습니다. 터미널에서 텍스트를 선택하는 것이 종종 고통스럽기 때문입니다. (사용에는set-mark작은 부품.)

그와 반대로,kill명령줄의 다양한 부분에 대한 많은 위젯, 텍스트를 선택하지 않고. 사용하는 것이 훨씬 빠르며, 중간에 다른 키를 누르지 않고 계속 사용하면 삭제된 텍스트가 연결됩니다. 예를 들어 backward-kill-word연속해서 세 번 수행한 다음 나중에 를 수행 하면 yank원래 표시된 순서대로 세 단어를 모두 한 번에 반환하게 됩니다.

그러나 장기적으로는 스스로 새로운 키 바인딩을 정의하는 것이 아니라 emacs다양한 kill위젯에 대한 Zsh의 기본 키 바인딩을 배우고 익숙해지는 것이 더 좋습니다. 왜냐하면 이러한 동일하거나 유사한 키보드 단축키가 많은 위젯에서 자주 사용되기 때문입니다. 유닉스 쉘과 쉘 프로그램.

마지막으로 kill합계에 대한 두 가지 팁이 더 있습니다 yank.

  • Emacs와 마찬가지로 Zsh에도 실제로 여러 개의 클립보드가 있습니다. Emacs에서와 마찬가지로 이를 집합적으로 "킬 루프(kill loop)"라고 합니다. 동일한 세션에서 서로 다른 경우에 여러 번 사용하는 경우 kill(따라서 연속적이지 않음) 를 누른 후 를 눌러 킬 링에서 여러 킬 사이를 순환 yank할 수 있습니다 .yank-pop
  • 킬링 링에서 무슨 일이 일어나고 있는지 추적하지 않는 것은 어렵습니다. 그래서 나는 글을 썼다.zsh-edit킬링에 무엇이 있는지 자동으로 보여주는 플러그인이 호출되었습니다.. 시도 해봐! 모든 것이 더 쉬워집니다.

관련 정보