Перейти к содержимому

Существуют ли какие-либо оболочки Unix, поддерживающие отчеты мыши?

3

В настоящее время я использую Bash на OSX (через iTerm2). Иногда мне приходится запускать программы с очень длинным набором аргументов командной строки. Если я обнаружил, что я набрал опечатку, потребуется слишком много времени, чтобы вернуться к ошибке и исправить ее. Я знаю, что некоторые программы, такие как nano, поддерживают создание отчетов для мыши для позиционирования курсора. Поддерживается ли это какими-либо оболочками или (что еще лучше) как опция для bash?

1 436 просмотров
John Didion спросил 15 лет назад
J 20

4 ответа

4
Принятый ответ

Похоже, вы бы выиграли, потратив немного времени на изучение некоторых readlineсочетаний клавиш по умолчанию . Обратите внимание, что ответ пользователя user606723 дает некоторые основные ответы, но клавиши Homeи Alt+ arrowне работают на всех терминалах. Вот некоторые из тех, которые я считаю следующими наиболее полезными, и которые также работают в большем количестве терминалов.

(Если не указано иное, слово означает буквенно-цифровую строку.)

  • Alt-f: Идти одно слово вперед.
  • Alt-b: вернуться на одно слово назад.
  • Ctrl-a: перейти к началу строки
  • Ctrl-e: перейти к концу строки
  • Alt-d: удалить до конца слова
  • Alt-Backspace: удалить в начало слова
  • Ctrl-w: удалить назад в пробел
  • Ctrl-y: вставить последний удаленный текст
  • Ctrl-b, Ctrl-f: двигаться вперед / назад на один символ, эквивалентный leftиright
  • Ctrl-h, Ctrl-d: эквивалентно Backspaceи Delete, соответственно.

Я перечисляю последние несколько, потому что я нахожу их более удобными, чем поиск клавиш со стрелками или удаление / возврат. Вы можете видеть, как с помощью этих основных ярлыков вы можете довольно легко редактировать. Но есть еще:

  • Alt-.: повернуть на последнее слово (разделенное пробелами) предыдущих строк в истории. Используя его, вы получите последний аргумент последней набранной вами команды.
  • Ctrl-_: отменить (в инкрементах)
  • Ctrl-]: поиск персонажа вперед (как fв vim, но менее удобно)
  • Ctrl-r: обратный поиск истории
  • Alt-0... Alt-9: числовой аргумент для следующей команды. Например, если вы хотите, чтобы удалить 4 слова: Alt-4Alt-d. Или, если вам нужно 1024 A«S в командной строке по некоторым причинам: Alt-1024A.
  • Ctrl-u: удалить из позиции курсора в начало строки
  • Ctrl-k: удалить из позиции курсора до конца строки

И это только некоторые из тех, которые я использую - их много на странице руководства.

Я выбрал этот ответ, потому что думаю, что буду его использовать, но все это отличные решения. Спасибо!

John Didion · 15 лет назад · 0
jw013 ответил 15 лет назад
J 1 098
3

Я не знаю, но ...


Расширение истории

повторить последнюю команду после исправления tehдоthe

^teh^the^ 

повторить последнюю команду, содержащую слово, fooпосле изменения первого вхождения barнаqax

!?foo?:s/bar/qax/ 

Линия редактирования

Вы можете использовать команды редактирования в стиле emacs для быстрого перемещения по строке.

Я предпочитаю режим vi, set -o viчто означает, что я могу использовать bи wдля перемещения назад и вперед по слову за раз и использовать fxдля перемещения курсора к следующему вхождению определенного символа x.

RedGrittyBrick ответил 15 лет назад
R 66 369
0

Это не «ответ», но это решение. Я представляю это как ответ, потому что мне требуется дополнительная комната.

Вы пытались использовать комбинацию Homeи Alt+Left

  • Home- Возьму на фронт команды.
  • End- приму до конца команду.
  • Alt+ Left- Приму вам «слово» в левом.
  • Alt+ Right- Приму вам «слово» в правом.

С этими комбинациями клавиш вам будет намного легче вернуться к вашей ошибке =)

user606723 ответил 15 лет назад
U 813