- ベストアンサー
bashの設定
現在使用中のcomputerにおいて cp ABCDEFG のGをdeleteボタンで削除しようとすると ABCDEFG 全てが削除されてしまいます。 Gのみ削除するようにしたいのですが、bashの設定のどの部分を 変更すればいいのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
んじゃ RUBOUT:backward-delete-char と書いてみるとどうなりますか? #BackSpaceキーを押す前にESCキー押してないですよね? #キーボードのハードウェア的な不具合でBackSpaceのキーコードの前にESCのキーコードもくっついちゃうなんてことも疑ってみたり。。
その他の回答 (2)
- notnot
- ベストアンサー率47% (4900/10359)
ctrl-H と BackSpace の動作が違うわけですね。そうすると、Xデスクトップから端末を開いての操作と思われますが、Xの設定でキーの機能が設定されていると思われます。設定する方法は何通りもあるので、設定した人に聞きましょう。
お礼
ありがとうございます。 こちら側でなんとかしようと考えておりましたが、管理者に 尋ねてみることにいたします。
補足
stty saneとの記載にて問題解決しました。 ありがとうございました。
- tux_the_penguin
- ベストアンサー率42% (69/163)
デフォルトではdeleteキーを押すとカーソル下の一文字だけ消し、カーソル下に文字が無ければ何も起きないはずなんですが… cp ABCDEFG_ (_はカーソル)のとき G 一文字消すにはdeleteキーではなくbackspaceキーを使うのが一般的なんじゃないかと思い込んでいるのですが、そうじゃない環境もあるんですかね…? …で、bashのキーバインドは /etc/inputrc か ~/.inputrc に定義されています。 viモードとかemacsモードとかが(ウチのbashには)定義されていますが、 deleteキー("\e[3~")の定義のところが backward-kill-word になっていませんか?本来(?)の記述は "\e[3~": delete-char だと思います。 backward-kill-word は M-Backspace(Mはescキー)の割り当てのはずなんじゃないかと。 man bash (とっても長いけど)してReadLineのセクションを良く読んで見てください。 他には info rluserman も参考にせよ、とinputrcの初めに書いてあります。
お礼
詳細な回答ありがとうございます。 deleteキーでなくbackspaceキーを押した時の動作でした。 勘違いしてすみません。 /etc/inputrcをみたのですが、deleteがかかれている部分は "\e[3~"のdelete-charのみでした。 kill-wordという文字の部分はinputrcには見つかりませんでした。 別途、ctrl+hにて1文字削除ができるということがわかりまして、 今はそちらを使っています。
お礼
ありがとうございます。 >RUBOUT:backward-delete-char >と書いてみるとどうなりますか? .inputrcに記載しましたが、backspaceの単語削除は変化ありませんでした。 >#BackSpaceキーを押す前にESCキー押してないですよね? Backspaceキーのみ押しております。 >#キーボードのハードウェア的な不具合でBackSpaceのキーコードの前にESCのキーコードもくっついちゃうなんてことも疑って ログイン元linuxパソコンでは通常どおりBackspaceキーが使用できます。 このlinuxパソコンからサーバにつなげた際に、投稿内容の症状が 起きております。
補足
http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO-5.html にて見つけた記載の stty sane を.bashrcに追加することによって解決しました。 ありがとうございました。