Повторите ввод в OSX Bash

9

В Bash на OSX я могу сделать, ctrl-_чтобы отменить то, что я недавно набрал. Есть ли соответствующая команда повтора?

amindfv
источник
2
Я быстро просмотрел справочную страницу readline (3) и ничего не нашел по поводу команды redo / short-cut. readline (3) - библиотека, отвечающая за ярлыки и исторические особенности в bash. Если вы заинтересованы, вы можете посмотреть руководство здесь unixhelp.ed.ac.uk/CGI/man-cgi?readline+3 . На этой странице руководства перечислены все сочетания клавиш по умолчанию.
Бруно Коимбра
@BrunoCoimbra: похоже, ничего не может быть, но спасибо за ссылку.
amindfv

Ответы:

4

ctrl-yявляется командой Readline 'yank', которая возвращает буфер уничтожения. ctrl-uубивает от точки до начала строки (аналогично OSX / bash, ctrl-_который очищает всю строку). Подобные Emacs привязки Readline включены в bash, а подмножество включено во многих других местах (панели поиска браузера и т. Д.).

  • ctrl-u убить от начала строки до точки вставки
  • ctrl-k убить от точки вставки до конца строки
  • ctrl-w убить предыдущее слово (и подготовить к уничтожению буфера)
  • ctrl-y восстановить содержимое буфера уничтожения
idoimaging
источник
1
Я получаю другое поведение (в терминале в OS X и XTerm и Emacs в Fedora) - ctrl-_отменяет то, что было последним действием, а также ctrl-yполучает любой уничтоженный текст, не только с ctrl-u. Тем не менее, я не слышал ctrl-yраньше - спасибо!
amindfv
Отредактировал мой ответ, чтобы сказать «Readline», а не «Emacs», хотя многие привязки клавиш используются совместно, чтобы расширить определение буфера уничтожения. Команда Readline kill-whole-line, которая делает то же самое, что и ваша ctrl-_, по умолчанию не привязана - мне всегда было интересно, есть ли команда kill-whole-line. Я использую ctrl-a-k( kill-line в начале строки ), чтобы убить всю строку.
idoimaging
7
Для меня ctrl-_не убивает всю строку, хотя - это команда отмены
amindfv
4
И это тоже не отвечает на вопрос.
suzanshakya