tcsh 쉘의 명령 프롬프트에서 특정 단어를 찾는 방법은 무엇입니까?

tcsh 쉘의 명령 프롬프트에서 특정 단어를 찾는 방법은 무엇입니까?

CTRL+A명령 프롬프트에 다음 줄이 있고 커서가 줄의 합계 또는 ( )를 사용하여 줄의 시작 부분에 있다고 가정합니다.

[subhrcho@slc04lyo pcbpel]$ abc def ghi jkl

to와 같은 특정 단어로 이동하려면 어떻게 해야 합니까 def? 나는 사용하고있다tcsh껍질에서운영 체제내 생각에 기본 바인딩은이맥스모델.

Meta추신: 내 키보드에는 키가 없습니다. CTRL+f및를 각각 사용하여 단어 사이를 앞으로 또는 뒤로 이동할 수 있습니다 . 그래서 내 Meta열쇠가 Esc열쇠 인 것 같아요 . 제발이 가정이 틀렸다면 정정해주세요..Alt 또한 메타 키로 사용할 수 없습니다..한번 살펴봤습니다이맥스 문서하지만 전화 CTRL-s w했다가 누르는 것은 Enter나에게 도움이 되지 않습니다. 먼저 프롬프트에 문자를 추가하여 프롬프트에 있는 내용을 실행 하려고 하면 w프롬프트가 표시됩니다.

[subhrcho@slc04lyo pcbpel]$ abc def ghi jklw
abc: Command not found.

답변1

즉 , ASCII 문자( 또는 )와 그 뒤에 가 Meta-x tcsh필요합니다 . 언제든지 빠르게 와 를 순서대로 눌러 이 작업을 수행 할 수 있으며 , 일부 터미널에서는 를 눌러 이 작업을 수행합니다 .ESC^[\exEscapexAlt-x

x일부 다른 터미널에서는 비트 8이 설정된 시간에 맞춰 문자를 보냅니다 Alt-x. 를 사용하면 xterm다음을 추가하여 이를 변경할 수 있습니다.

XTerm*metaSendsEscape: true

X11 리소스 파일에.

이제 에서 검색하려면 / 또는 모달을 tcsh시뮬레이션하려는 경우 바인딩 및 위젯을 사용해야 합니다 .emacszsh Ctrl-RCtrl-Semacsi-search-backi-search-fwd

bindkey '^R' i-search-back
bindkey '^S' i-search-fwd

그러나 터미널 드라이버가 터미널 입력 및 출력 문자를 일시 중지하는 ^S것이 일반적입니다 (resume 사용 ). 따라서 바인딩하려면 흐름 제어를 비활성화하여 바인딩을 비활성화해야 합니다.stop^Q^S

stty -ixon

아니면 stop다른 캐릭터에 바인딩하세요:

stty stop '^T'

관련 정보