Terminal.appでのctrl-oの動作


16

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

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

このショートカットは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.