2013-08-19 4 views
2

저는 emacs에서 eshell을 사용하고 있습니다.Eshell 히스토리 조작 (빠른 문자열 대체)이 작동하지 않습니다.

배쉬에서

, 나는 실행할 때 :

ls test 
^ls^ll^ 

는 마지막 명령이처럼 LS가하겠다 변경 다시 실행합니다

ll test 

어떻게 그것을 eshell에서 할 수 있습니까? 내가 이런 짓을 할 때 :

ls test 
^ls^ll^ 

나 :

Wrong type argument: stringp, 108 

문제점은 무엇입니까 :

!!:s/ls/ll/ 

eshell에 오류가 준? 감사.

+0

나는이 eshell에서 버그가 생각하고 있어요. OP가 묘사하는 동작은 바닐라 이맥스 24.3.1을 사용하는 것과 동일합니다. 나는 그것을 조금 들여다 보았지만'(setq eshell-handle-errors nil)','(setq debug-on-error t)'등의 후에도 적절한 백 트레이스를 얻는데 어려움을 겪고있다. –

+1

eshell 문서는 역사적으로 부족했지만 eshell은 위에서 언급 한 bash 동작을 제공하기 위해 작성된 것 같습니다 (cf. function'eshell-history-reference' 참조). [Eshell 마스터하기] (http://www.masteringemacs.org/articles/2010/12/13/complete-guide-mastering-eshell/)와 같은 문서는 eshell 빠른 대체가 "버그가있는 것으로 보입니다"라고 말합니다 (2010 년 12 월). –

답변

0

eshell가 내장 된 변수

참조 :

마지막 인수를 의미 그것은 '당신이 _`$ 싶은 생각 (정보 "(eshell) 내장 기능")

, 마지막 명령의 당신이 eshell (문서)에 대한 설치 정보가없는 경우

, 그것은 여기에 사용할 수 :

https://github.com/nicferrier/eshell-manual