поведінка ctrl-o в Terminal.app


16

Я часто використовую комбінацію клавіш + Oу bash (з "Навчання баш-шелу" ):

[G] o поверніться до [команди в історії] та натисніть + Oзамість . Це виконає команду і виведе наступну команду в файл історії. Натисніть + Oще раз, щоб ввести цю команду та відкрити наступну.

Здається, цей ярлик недоступний в OS X; + Oпросто нічого не робить. У веб-пошуку з'являється пропозиція використовувати !bash вбудований , але я не бачу, як я можу виконати те саме, що і + Oз ним.

Чи можна якось отримати + Oповедінку в Terminal.app на OS X?

Відповіді:


19

+ O, чомусь (можливо, це стосується того, що він використовується для контролю потоку на деяких видах послідовних з'єднань), встановлюється, щоб він був відкинутий драйвером терміналу (тобто, не Terminal.app, а частина ОС між ним та оболонки). Ви можете позбутися цього за допомогою команди stty discard undef. Щоб зробити цю зміну постійною, додайте цю команду до файлів .bash_profile та .bashrc .


3

man bashможе допомогти. У розділі "READLINE" та "Readline Key Bindings" розповідають про прив'язку наявних натискань клавіш та про те, як налаштувати параметри за замовчуванням для читання.

Також Bash Emacs редагування шаблону режиму редагування та продуктивність роботи в режимі редагування командних рядків Bash (з Cheat Sheet) добре допомагають розібратися, що робить натискання клавіш, якщо ви використовуєте режим vi замість emacs за замовчуванням. В будь-якому випадку bind -P | grep foundвам покажуть, які комбінації клавіш налаштовані у режимі vi, та bind -Pпокажуть усе, що є в наявності.


2
Нічого собі, я не мав уявлення, що в баші доступний ві-режим! Це поза солодким. Спасибі!
Майк Мазур

2
Я відчував те саме, коли виявив, що це доступно.
Грег

я теж мене теж :)
Роберт S Ciaccio
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.