기본 쉘(Korn)과 함께 PC-BSD를 사용하면 Ctrl+가 r작동하지 않습니다. 왜 작동하지 않나요?
Ctrl- r1970년대 후반이나 1980년대 초반에 기록을 검색하기 위해 도입되었지만 내 BSD는 여전히 이를 수행할 수 없습니다(Ubuntu는 할 수 있지만).
Ctrl- r Emacs에서 유래한 것 아닌가요? 언제? 1975년? 1983년?
답변1
Ctrl+Rksh
in emacs
mode ( ksh -o emacs
또는 set -o emacs
inside) 와 함께 사용하면 ksh
이를 지원하는 최초의 셸일 가능성이 높습니다. 단지 zsh
Or bash
의 tcsh
위젯 i-search-back
만큼 상호작용 적이지 않다는 것뿐입니다 .
ksh
( ksh88
및 ) 에 ksh93
를 입력합니다 Ctrl+Rtext
Return. Ctrl+RReturn같은 텍스트로 다시 검색해 보세요 .
모드 에서는 역방향 검색과 다음 검색을 vi
사용할 수 있습니다 .?
n
저것emacs
증분 검색다음 기능이 추가되었습니다.
bash
/readline
이 기능은 적어도 1989년 7월부터당시 유즈넷에서 이미 언급됨readline
zsh-1.0
그러나 포함된 버전에는 해당 기능이 없기 때문에 아마도 처음부터 그렇지는 않을 것입니다 .zsh
줄 편집기는 다시 작성되었으며 1991년 버전 2.0 이후로 더 이상 사용되지 않습니다readline
.tcsh
V6.00.03, 10/21/91에서는 기본적으로 바인딩되지 않습니다(tcsh
그 전에 다른 검색 메커니즘이 한동안 활성화되었지만).Meta-Pksh
: 1982년 AT&T의 Mike Veach가 작성한 편집 모드를 갖춘ksh
최초의 Unix 쉘일 가능성이 높습니다 ( Pat Sullivan의 모드와 함께 Bourne 쉘에 독립적으로 적용된 코드를 재사용함). ksh는 AT&T 외부에서 최초로 출시되었습니다.emacs
vi
1983년 USENIX 컨퍼런스어디이러한 기능이 설명되어 있습니다., 그러나 얼마 후까지 상업적으로 이용 가능하지 않았습니다(1,2). 당시에 이미 있었는지 말하기는 어렵습니다^R
(어쨌든 이미 있었음)1986년및 1985(usr/man/man1/ksh.1
ksh85 매뉴얼 페이지 참조)Unix Heritage Society의 Unix V8 타르볼)) 그러나 그것이 기본 기능, 특히 셸의 경우이기 때문에 그렇지 않았다고 상상하기는 어렵습니다. 그때쯤이면vi
모드도 있었을 것으로 예상합니다.?
답변2
CtrlRKorn 쉘은 적어도 그 당시부터 ksh93
(아마도 ) 기록 검색 사용을 지원 ksh88
하지만 그렇게 작동하지는 않습니다 bash
. 먼저 Emacs 모드를 활성화해야 합니다:
set -o emacs
(이렇게 하면 기본적으로 화살표 키를 사용하는 등의 기타 세부 정보가 활성화됩니다.)
이제 를 누르면 CtrlR셸이 인쇄됩니다 ^R
. 검색어를 입력하고 을 클릭하면 Enter셸이 가장 일치하는 기록 항목을 표시합니다. Enter다시 클릭하여 그대로 실행하거나 편집 할 수 있습니다.
답변3
1970년대에는 쉘에 커서 편집 기록이 없었습니다.
커서 편집 가능 내역이 통합된 최초의 쉘은 bsh
1984년에 제가 개발했습니다(1982년 프로토타입을 기반으로 함). 이 기록 구현은 crontrol -r을 사용하여 현재 명령줄을 다시 표시합니다.
1986년에 Korn Shell은 완전히 통합된 커서 편집 가능 기록을 구현하는 쉘 그룹의 일부가 되었습니다.
통합 편집기가 포함된 tcsh 버전은 1987년에 처음 등장했습니다.
Bash는 1989년에 등장했습니다.
emacs
기본적으로 Ksh는 모드에서 실행 되지 않습니다 gmacs
.
ksh93은 기본 모드에서도 control-r을 사용한 검색을 지원하지만 해당 모드에 있다는 것을 알려주지는 않습니다. 다음을 입력하면:
^R
에코를 다시 받은 다음 검색 문자열을 입력할 수 있습니다.
^Rali
alias a=b
기록에서 alias 명령을 찾습니다.