私は(つまり、使用して、Emacsがデフォルトで使用するのと同じキーボードバインディングを使用してバッシュで、コマンドラインのテキストをコピー&ペーストできるようにしたいC-space
ためにset-mark
、M-w
テキストをコピーするためにC-y
、M-y
など、それを貼り付けます)。
GNU bashのドキュメントは bashがデフォルトで設定これらのキーバインディングの一部が付属していることを述べています。
たとえば、ヤンク(C-y
)は私の端末ではデフォルトで機能します。ただし、コマンドset-mark
とcopy
コマンドを機能させることはできず、デフォルトではキーにバインドされていないようです。
通常、ユーザーが独自のキーバインディングを定義できる方法は、キーバインディングをに追加すること.inputrc
です。だから、私は見たドキュメントで次のbash関数を見つけ、私が望むEmacsのような振る舞いを定義するのに役立つと思います(つまりset-mark
with C-space
とcopy
with M-w
)。
copy-region-as-kill ()
リージョン内のテキストをキルバッファーにコピーして、すぐにヤンクできるようにします。デフォルトでは、このコマンドはバインドされていません。
そして
set-mark (C-@)
ポイントにマークを設定します。数値引数が指定されている場合、マークはその位置に設定されます。
私が正しく理解している場合、上記はcopy-region-as-kill
デフォルトでキーボードシーケンスにバインドされていないが、デフォルトでset-mark
バインドさC-@
れていることを意味します。
私はC-@
自分の端末で試しましたがset-mark
、カーソルを動かしてもテキストがハイライトされていないので、実行するとは思いません。いずれにせよ、キーボードバインディング(M-w
およびC-
)を関数内copy-region-as-kill
でset-mark
上記の関数に 追加.inputrc
しC-x C-r
、それをでリロードしようとしましたが、これは機能しませんでした。.inputrc
他のユーザー定義のキーバインドが定義されているため、他のエントリが動作していることを知っています。
私が間違っていることはありますか?何か不足していますか?
bash
と端末プログラムは何ですか?