Я использую eshell в emacs.Обработка истории Eshell (быстрая замена строк) не работает
В Баш, когда я исполню:
ls test
^ls^ll^
он выполняет последнюю команду снова с Ls изменен Л.Л., как это:
ll test
Как я могу сделать это в eshell? Когда я сделал это:
ls test
^ls^ll^
или:
!!:s/ls/ll/
eshell дал ошибку:
Wrong type argument: stringp, 108
Что случилось? Благодарю.
Я думаю, что это ошибка в eshell. Поведение, описанное OP, для меня одинаково, используя ваниль Emacs 24.3.1. Я немного заглянул в нее, но у меня возникли проблемы с получением правильной обратной линии даже после '(setq eshell-handle-errors nil)', '(setq debug-on-error t)' и т. Д. У кого-нибудь есть идеи? –
Документация eshell исторически была скудной, но eshell, похоже, был написан для обеспечения описанного выше поведения bash (см. Функцию 'eshell-history-reference'). Такие документы, как [Освоение Эшелл] (http://www.masteringemacs.org/articles/2010/12/13/complete-guide-mastering-eshell/), говорят, что быстрая замена «eshell» оказалась «глючной» (декабрь 2010 г.). –