Bash: 커서를 한 번에 한 단어씩 왼쪽으로 어떻게 이동합니까?

Bash: 커서를 한 번에 한 단어씩 왼쪽으로 어떻게 이동합니까?

optionOSX에서는 편집해야 하는 단어에 도달할 때까지 키를 누른 채 왼쪽 커서 키를 누를 수 있습니다 (또는 Vi에서는 를 누를 수 있지만 b터미널에서 이를 수행하는 방법을 알 수 없었습니다). 아직...

답변1

Ctrl키 바인딩을 설정하려면 먼저 + 키 시퀀스가 ​​생성하는 키 코드를 찾아야 합니다 Left. 명령을 사용하여 cat기존 키 바인딩에 대한 간섭을 끄고 키 시퀀스를 입력하기만 하면 됩니다. 내 시스템(Linux)에서는 다음과 같습니다.

$ cat
^[[1;5D

고양이를 종료하려면 Ctrl+를 누르세요 . d이제 Ctrl-Left가 6개의 키 코드를 발행한다는 것을 알았습니다.

  • 탈출(^[)
  • [
  • 1
  • ;
  • 5

이제 바인딩 명령을 실행할 수 있습니다.

bind '"\e[1;5D": backward-word'

답변2

원하는 bash 기능은 입니다 backward-word. bind -q backward-word해당 함수에 바인딩된 키 목록을 얻기 위해 실행할 수 있습니다 . 일반적인 바인딩 중 하나는 Esc+b

또한 많은 터미널은 Ctrl+ Left(단어 단위로 뒤로 이동하기 위해 X에서 사용할 수 있는 것과 동일한 단축키)를 지원합니다.

답변3

Bash의 기본 단축키는 + backword-word입니다 . + 를 사용해도 동일한 결과를 얻을 수 있습니다 . 키 바인딩을 편집하기 전에 시도해 보아야 합니다.AltbEscb

특정 작업의 현재 키 바인딩을 bind편집하거나 가져오려면 명령을 사용하세요 .bind -q [name]

관련 정보