커맨드 라인 편집은 터미널이 아닌 쉘의 기능입니다 . 아마도 쉘은 bash 이고 아마도 명령 행 편집 스타일은 "emacs"로 설정되어있을 것입니다.
다음은 편리한 Emacs 스타일 키 조합입니다.
- Ca :
beginning-of-line
- Ce :
end-of-line
- MF :
forward-word
- Mb :
backward-word
- CD:
delete-char
- Md :
kill-word
(다음 '단어'삭제)
- M-DEL :
backward-kill-word
C- x 는 Control+를 의미 x하므로 Ca는 Control+ a입니다.
M- x 는 Meta+를 의미 x하지만 키보드에 메타 키가 없을 수 있습니다. 그래서 그 대신, 당신은 ESC 사용할 수있는 X (즉, Escape다음 x). 터미널 에는 키를 누른 채로 Option유지 하기 전에 ESC를 자동으로 보내도록 설정되어 있습니다. 이 기능을 사용하면 옵션 수정자를 사용할 때 Mac OS X에서 일반적으로 제공하는 확장 문자 처리가 비활성화됩니다. 따라서 확장 문자를 거의 사용하지 않고 Option+ xESC x 보내기를 원하면 이 터미널 옵션을 활성화 할 수 있습니다 .
귀하의 예에서“Hello”로 이동하는 방법에는 여러 가지가 있습니다.
- "Hello"검색 : Cr H ello Cj (또는 ESC)
- 일반 Emacs에서는 RET ( Return)을 사용 하여 현재 위치에서 검색을 끝내고 편집으로 돌아갑니다. 그러나 bash 에서 기본 바인딩은 증분 검색이 활성화 된 경우에도 RET (예 : Cm)이 항상 현재 행을 실행하도록합니다. 따라서 Cj / ESC 부분은 일반 Emacs와의 편차입니다.
- 줄의 시작 부분으로 이동하여 앞으로 이동하십시오. Ca Mf Cf (또는 →)
- 줄의 시작 부분으로 이동 한 다음 단어별로 이동하십시오. Ca Mf Mf Mb
- Mb를 많이 사용하십시오 (Meta에 Option을 매핑 한 경우에만 실행 가능).
원하는 교체를 수행하는 몇 가지 방법이 있습니다.
- 단어를 삭제하고 바꿉니다 : Md H i
- 문자를 삭제하고 교체하십시오 : Cd Cd Cd Cd Cd H i
- "H"를지나 다음 작업을 삭제하고 교체하십시오. Cf Md i
- "H"를지나 나머지 문자를 삭제하고 교체하십시오. Cf Cd Cd Cd Cd i
단어 끝에서 멈춘 경우 (아마 Ca Mf Mf를 통해) M-DEL H i를 사용할 수 있습니다.
bind -P | less
다른 재미있는 바인딩을 찾는 것과 같은 것을 할 수 있습니다 . 자세한 내용은 bash 매뉴얼 페이지 의 readline 섹션 또는 bash 정보 페이지 의 readline 부분 을 참조하십시오.