단축키에 여러 명령을 할당할 수 있나요? (배쉬, xterm)

단축키에 여러 명령을 할당할 수 있나요? (배쉬, xterm)

과거에는 커서가 긴 쉘 명령 중간에 있을 경우 Ctrl+를 눌러 C새 명령 프롬프트를 표시할 수 있었습니다.

Ctrl그러다가 + K/ 에 대해 알게 되었고 C인생은 좋다. 아쉽게도 이러한 시퀀스는 저에게는 다소 어색하므로 이제 하나의 시퀀스로 전체 행을 재설정하는 바로가기를 매핑하고 싶습니다.

Ctrl이 두 명령을 실행하기 위해 + 와 같은 X것을 매핑할 수 있습니까 ? 변수를 확인 man bash하고 찾았 kill-whole-line지만 내 .bashrc에서 어떻게 구현해야 하는지 잘 모르겠습니다. 또는 이것이 제가 필요한 것인지(그럴 것 같습니다).

CtrlED: +가 X최선의 선택이 아닐 수도 있다는 걸 배웠어요 . 왜냐하면다른 bash 단축키로 가는 관문입니다, 그래서 다른 것을 선택했습니다.

답변1

다음 줄을 추가할 수 있습니다 ~/.inputrc.

"\C-x": kill-whole-line

또는 다음을 다음 항목에 추가하세요 ~/.bashrc.

bind '"\C-x": kill-whole-line'

가능한 모든 바인딩과 유효한 바인딩을 보려면 다음을 실행하세요.

bind -p

로 시작하는 조합을 바인딩 해제해야 할 수도 있습니다 \C-x.

답변2

여러 명령을 단일 단축키에 직접 할당할 수 없습니다. 보통 사람들은 그럴 것이다.~/.inputrc

"\C-x": some-readline-command (eg. kill-whole-line)

그러나 다음을 수행하여 단축키를 임의의 입력 시퀀스에 매핑할 수 있습니다(단축키를 통해 바인딩된 명령을 참조하여 실행할 수도 있습니다).

"\C-x": "\C-knew text"

노트:\C-x실제로 위의 내용 은 기본적으로 바인딩이 다른 바인딩(예: 모드 의 \C-x\C-u경우 )의 선행 키이기 때문에 작동하지 않습니다 . 무언가를 하려면 순수해지기 위해서는 이 모든 것을 풀어야 합니다 .undoemacs\C-x

관련 정보