Bash で $ 文字のマッピングを作成するには? = 'bind' を使用する

Bash で $ 文字のマッピングを作成するには? = 'bind' を使用する

いいですか、聞いてください。Bashでドル記号$のマッピングを作成したいのですが、最もよく使われるのは特殊文字私にとっては、まったく難しいことではありません。はい、Capslock の AutoHotKey または Linux 相当のものを作成できます。ただし、Bash 内では、alias は最初の位置 $0 より大きく展開されないため機能しませんし、そのように設計されていません。これは、常に $var_name を引数として使用するため、不可欠です。関数は、'type' コマンドでのみ表示できます。

私は xx や , のようなキーを使用し、エイリアスを展開するか、その他の同様の操作を行って、それを $ に置き換えます。 ',' キーは算術文字であり予約されていますが、これを使用して展開するエイリアスを作成することはできました (最初の位置のみ)。

解決策や提案はありますか? ありがとうございます。

エイリアス拡張に関する関連スレッド:bash でエイリアスをインラインで展開するにはどうすればいいですか?

以下は、bash にエクスポート可能な ',,' を使用し、最後の引数とヘルプ フラグに 1 つを加えた回答です。

bind '",,": "$"'
echo "bind '\",,\": \"\$\"'">>~/.bashrc
echo "bind '\",l\": \"\$_\"'">>~/.bashrc
echo "bind '\",h\": \"--help\"'">>~/.bashrc
echo "function helpany { \$1 --help || help \$1 || man \$1 || info \$1; }">>~/.bashrc

パブリック Gist 内のエイリアス、関数、バインドのリストは次のとおりです。https://gist.github.com/auwsom/804b4470d22ae00d113cbf5b4eaba73c

答え1

bashには方法があります:練る指示。

Ctrleこれは「$」にマッピングされます

bind '"\C-e": "$"'

現在の bash キーバインディングを確認しbind -p、入力しやすく、他の用途には使用されていない (保持したい) キー シーケンスを選択します。

関連情報