2013-04-02 4 views
1

emacs eshell에서 irb를 실행할 때 어떻게 명령 기록에 액세스 할 수 있습니까?irb 명령의 역사적인 키 스트로크 in eshell

이맥스 밖에서 명령 줄에서 irb를 실행할 때 위의 화살표를 사용하여 마지막 명령을 가져 오거나 Ctrl-r을 사용하여 명령 내역을 검색 할 수 있습니다. eshell 내부의 irb에서 위쪽 화살표는 아무 것도하지 않습니다 (즉, irb에서는 아무 것도 수행하지 않는 eshell-previous-matching-input-from-input을 실행 함). ctrl-r은 명령 내역을 검색하는 대신 버퍼의 이맥스 역방향 검색을 사용합니다. 나는 irb가 eshell-previous-matching-input-from-input에 묶여 있기 때문에 위쪽 화살표 키 스트로크를받지 못한다고 생각합니다. 그러나 그것을 고치는 방법을 모르겠습니다. (global-unset-key (kbd "<up>"))을 실행하면 eshell에서 위쪽 화살표를 언 바인드하지 않으며 어쨌든 바람직하지 않습니다.

inf-ruby에 대해 알고 있지만, 셸에서 irb를 사용하는 것이 더 좋으며 up-arrowctrl-r 외에도 irb를 사용하는 것이 좋습니다.

irb에서 readline에 문제가있을 수 있지만 그렇게 생각하지 않습니다. conf.use_readline은 irb 명령 히스토리가 잘 작동하는 명령 행에서 nil입니다. eshell에서 irb --readline을 실행하면 conf.use_readline이 true로 바뀌지 만 위쪽 화살표 또는 Ctrl-r은 수정되지 않습니다.

답변

1

이맥스 용어 모드 (M-x term)와 C-c C-j/C-c C-k을 조합하면 임시로 야킹을 허용하는 것이 좋은 방법 인 것 같습니다. 다른 대답 here을 참조하십시오.