BashバインディングコマンドでMac OSコマンドキーを使用する

BashバインディングコマンドでMac OSコマンドキーを使用する

Ctrl-y私のUbuntu bashでは、テキストをクリップボードにコピーするためにキーの組み合わせを再マップしました。

bind -x '"\C-y": copy_line_from_x_clipboard'

効果があるMacBookに移行しているので、上記のCommandキーの代わりにキーを使用することをお勧めしますCtrl。 Mac OSコマンドキーを含むキーバインディングの例をオンラインで見たことはありません。次のようにCommand-yコマンドを使用してキーの組み合わせを取得しようとしています。sed -n lここCommand-yただし、キーストロークを入力すると空白行が表示されます。

興味のある人のためにクリップボードからテキストを貼り付けるために呼び出される関数は次のとおりです。

copy_line_from_x_clipboard() {
        local n=$READLINE_POINT
        local l=$READLINE_LINE
       local s=$(xsel -ob)
       READLINE_LINE=${l:0:$n}$s${l:$n:$((${#l}-n))}
       #READLINE_LINE=${l:0:$n}$s
       READLINE_POINT=$((n+${#s}))
}

ベストアンサー1

一コメントによるとコンソールVimでCMDマッピングを使用するCommand、Terminal.appのキーは使用できません。できるiTerm2で。

あなたは探しているかもしれません修飾子、例えば、またはキーのようなものshiftです。controlaltmeta

Terminal.appのキーボード設定には、これらの修飾子を使用する初期キー定義セットがあり、これらの定義をOption変更したり新しい定義を追加したりできます。

以下は、ダイアログボックスを示すいくつかのスクリーンショットです。

キーボード設定画面を表示

2番目のスクリーンショットはOption(単独でまたは他の修飾子と一緒に)表示されますが、Command端末で実行されているプログラムでは使用できません。

キーに使用可能な修飾子の表示

おすすめ記事