경로 구성 요소를 제거하기 위한 bash 및 zsh에 바로 가기가 있습니까? 예를 들어, 입력했는데 ls ~/local/color/
커서가 줄 끝에 있는 경우 color/
마지막 줄을 삭제할 수 있는 단축키가 있나요? 이상적으로는 vi 모드와 emacs 모드 모두에서 솔루션을 원합니다.
답변1
기본 bash에서 가장 일반적으로 사용되는 명령이맥스 모드, 가장 일반적으로 사용되는 키보드의 경우:
이동하다
- Ctrl- p, 또는 Up: 이전 명령
- Ctrl- n, 또는 Down: 다음 명령
- Ctrl- b, 또는 Left: 이전 문자
- Ctrl- f, 또는 Right: 다음 문자
- Alt- b: 이전 단어
- Alt- f: 다음 단어
- Ctrl- a, 또는 Home: 명령 시작
- Ctrl- e, 또는 End: 명령 끝
편집하다
- BkSpc: 이전 문자 삭제
- Ctrl- d, 또는 Del: 현재 문자 삭제
- Alt- BkSpc: 왼쪽 단어 삭제
- Alt- d: 오른쪽 단어 삭제
- Ctrl- u: 명령의 처음까지 삭제
- Ctrl- k: 명령어 끝까지 삭제
- Ctrl- y: 마지막으로 잘라낸 내용을 붙여넣습니다.
여러 가지 잡다한
- Cltr- /: 실행 취소
- Cltr- r: 증분 역방향 이력 검색
답변2
그리고 unix-filename-rubout
!Readline
# in ~/.inputrc
# press ctrl-b to delete unix filename parts
# see: man bash | less -p 'unix-filename-rubout' and
# http://www.calmar.ws/vim/vi-bash.html
set editing-mode vi
set keymap vi
"\C-b": unix-filename-rubout
답변3
기본적으로 bash(그리고 zsh도 마찬가지)는 emacs 모드입니다. 다음과 같이 시도해 볼 수 있습니다.
Esc + b커서를 한 단어 뒤로 이동합니다. Ctrl + k줄 끝까지 삭제됩니다.
대부분의 최신 셸(예: bash)은 고급 명령줄 편집 기능을 구현합니다. 이 명령은 emacs 편집과 유사합니다(줄 시작은 Ctrl+A, 줄 끝은 Ctrl+E, ...).
vi와 같은 편집기에 익숙하다면 vi 모드를 허용해 볼 수 있습니다.
set -o vi
셸에 vi와 유사한 모드(명령 모드/삽입 모드)를 제공하며 표준 명령(삭제용 d, 교체용 r, ...)에 액세스할 수 있습니다.
Vi 모드에서는 다음과 같이 설명하는 작업을 수행합니다.
Esc (command mode); d; b.