Bash 바인딩 명령에서 Mac OS 명령 키 사용

Bash 바인딩 명령에서 Mac OS 명령 키 사용

Ctrl-y내 우분투 bash에서는 다음과 같이 텍스트를 클립보드에 복사하기 위해 키 조합을 다시 매핑했습니다 .

bind -x '"\C-y": copy_line_from_x_clipboard'

효과가있다. 이제 Macbook으로 마이그레이션 중이므로 위의 Command키 대신 키를 사용하는 것이 좋습니다 Ctrl. Mac OS 명령 키가 포함된 키 바인딩 예제를 온라인에서 본 적이 없습니다. 아래와 같이 Command-y명령을 사용하여 키 조합을 얻으려고 합니다.sed -n l여기Command-y, 그러나 키 입력을 입력하면 빈 줄이 표시됩니다.

관심 있는 분들을 위해 클립보드에서 텍스트를 붙여넣기 위해 호출되는 함수는 다음과 같습니다.

copy_line_from_x_clipboard() {
        local n=$READLINE_POINT
        local l=$READLINE_LINE
       local s=$(xsel -ob)
       READLINE_LINE=${l:0:$n}$s${l:$n:$((${#l}-n))}
       #READLINE_LINE=${l:0:$n}$s
       READLINE_POINT=$((n+${#s}))
}

답변1

한 댓글에 따르면콘솔 Vim에서 CMD 매핑 사용Command, Terminal.app의 키는 사용할 수 없습니다 .할 수 있다iTerm2에서.

당신은 찾고있을 수 있습니다수정자, 예를 들어 또는 키 와 같은 것 shift입니다 .controlaltmeta

Terminal.app의 키보드 기본 설정에는 이러한 수정자를 사용하는 초기 키 정의 세트가 있으며 Option이러한 정의를 변경하거나 새 정의를 추가할 수 있습니다.

다음은 대화 상자를 보여주는 몇 가지 스크린샷입니다.

키보드 기본 설정 화면 표시

두 번째 스크린샷은 Option(단독으로 또는 다른 수정자와 함께) 표시되지만 Command터미널에서 실행되는 프로그램에서는 사용할 수 없습니다.

키에 사용 가능한 수정자 표시

답변2

iTerm2를 사용하는 경우 유용한 팁이 있습니다...

  1. 기본 설정->키->키 바인딩으로 이동하세요.
  2. 사용자 정의하려는 키 조합을 "무시"로 설정하여 기본 기능에서 분리하세요.
  3. 기본 설정->프로필->키로 이동하세요.
  4. Ctrl 키와 동등한 유니코드 16진수 코드를 보내도록 키 조합을 설정합니다. 예를 들어 ^R은 0x12입니다.

관련 정보