Terminal.appでのctrl-oの動作


16

私はよくbashで+ Oショートカットを使用します(「bashシェルの学習」から)。

[G] o [履歴のコマンド]に戻り、の代わりに+ を押します。これにより、コマンドが実行され、履歴ファイルに次のコマンドが表示されます。もう一度+を押してこのコマンドを入力し、次のコマンドを表示します。OO

このショートカットはOS Xでは使用できないようです。+ Oは何もしません。Web検索では!bash builtin を使用するように提案されていますが、 +を使用Oして+ と同じことを達成する方法がわかりません。

それが何らかの形で取得することが可能である+ OOS X上でTerminal.appで行動を?

回答:


19

+ Oは、何らかの理由で(おそらく、ある種のシリアル接続のフロー制御に使用されているため)、ターミナルドライバー(Terminal.appではなく、OSとその間の部分)によって破棄されるように設定されていますシェル)。あなたはコマンドでこれを取り除くことができますstty discard undef。この変更を永続的にするには、このコマンドを.bash_profileおよび.bashrcファイルに追加します。


3

man bash役立つかもしれません。「READLINE」と「Readline Key Bindings」では、利用可能なキー押下のバインドとreadlineのデフォルトの設定方法について説明しています。

また、Bash Emacs編集モードのチートシートBashのViコマンドライン編集モード(チートシートを使用)での生産的な作業は、デフォルトのemacsの代わりにviモードを使用している場合、keypressが何を行うかを判断するのに適しています。いずれの場合でもbind -P | grep found、viモードで設定されているキーの組み合わせがbind -P表示され、使用可能なすべてが表示されます。


2
うわー、bashでviモードが利用できるとは知りませんでした!これは甘い超えています。ありがとう!
マイクマズール

2
それが利用可能であることを発見したとき、私は同じように感じました。
グレッグ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.