• ベストアンサー

bashの設定

現在使用中のcomputerにおいて cp ABCDEFG のGをdeleteボタンで削除しようとすると ABCDEFG 全てが削除されてしまいます。 Gのみ削除するようにしたいのですが、bashの設定のどの部分を 変更すればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

んじゃ RUBOUT:backward-delete-char と書いてみるとどうなりますか? #BackSpaceキーを押す前にESCキー押してないですよね? #キーボードのハードウェア的な不具合でBackSpaceのキーコードの前にESCのキーコードもくっついちゃうなんてことも疑ってみたり。。

flex1101
質問者

お礼

ありがとうございます。 >RUBOUT:backward-delete-char >と書いてみるとどうなりますか? .inputrcに記載しましたが、backspaceの単語削除は変化ありませんでした。 >#BackSpaceキーを押す前にESCキー押してないですよね? Backspaceキーのみ押しております。 >#キーボードのハードウェア的な不具合でBackSpaceのキーコードの前にESCのキーコードもくっついちゃうなんてことも疑って ログイン元linuxパソコンでは通常どおりBackspaceキーが使用できます。 このlinuxパソコンからサーバにつなげた際に、投稿内容の症状が 起きております。

flex1101
質問者

補足

http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO-5.html にて見つけた記載の stty sane を.bashrcに追加することによって解決しました。 ありがとうございました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.3

ctrl-H と BackSpace の動作が違うわけですね。そうすると、Xデスクトップから端末を開いての操作と思われますが、Xの設定でキーの機能が設定されていると思われます。設定する方法は何通りもあるので、設定した人に聞きましょう。

flex1101
質問者

お礼

ありがとうございます。 こちら側でなんとかしようと考えておりましたが、管理者に 尋ねてみることにいたします。

flex1101
質問者

補足

stty saneとの記載にて問題解決しました。 ありがとうございました。

回答No.1

デフォルトでは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の初めに書いてあります。

参考URL:
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html#lbCD
flex1101
質問者

お礼

詳細な回答ありがとうございます。 deleteキーでなくbackspaceキーを押した時の動作でした。 勘違いしてすみません。 /etc/inputrcをみたのですが、deleteがかかれている部分は "\e[3~"のdelete-charのみでした。 kill-wordという文字の部分はinputrcには見つかりませんでした。 別途、ctrl+hにて1文字削除ができるということがわかりまして、 今はそちらを使っています。

関連するQ&A

専門家に質問してみよう