Какая команда Eshell эквивалентна команде оболочки Ctrl-U?

В терминале я могу стереть весь ввод с помощью Ctrl-U, не вызывая его. Есть ли такая команда в Eshell?

1 ответ

Решение

Ты ищешь eshell-kill-input, который связан с C-c C-u по умолчанию.

Я не думаю что eshell изначально поддерживает уничтожение всей входной строки (он убивает только текст между точкой и подсказкой), но некоторые советы должны позаботиться об этом:

;;; For Emacs 24.4 and later
(defun eshell-kill-input--go-to-eol ()
  "Go to end of line before killing input"
  (end-of-line))

(advice-add 'eshell-kill-input :before #'eshell-kill-input--go-to-eol)

;;; For Emacs versions before 24.4
(defadvice eshell-kill-input (before go-to-eol ())
  "Go to end of line before killing input"
  (end-of-line))
Другие вопросы по тегам