* バックスペースが動作しない [#y2d53e70]

** 現象 [#c79c7452]

- バックスペースキーやCTRL-Hを押しても、文字が削除されない、バックスペースとして正しく動作しない。
- tmuxではバックスペースは^?を使う。(^Hではない)
- よって、シェルがバックスペースを認識するように、sttyで^?を設定する。

** 解決方法 [#gffddea7]

*** 現在の状態を確認する [#a4015f9f]

 $ stty -a | grep erase
 intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
 rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;

- eraseが^H

*** .bashrcでsttyを^?に設定する [#g7cea298]

 [[ -n "$TMUX" ]] && stty erase ^?
 [[ "$TERM" =~ ^screen ]] && stty erase ^?


- ^? の箇所は、CTRL-Vを押した後に、バックスペースキーを押す。バックスペースのキーコードを入力する。
- 文字通り^?と入力しないこと。
- なお、$TMUXはtmuxを実行したホストで有効になる環境変数。
- tmuxを実行したホストからsshなどで他ホストへ接続した場合は、$TERMでtmuxを判定する。$TERMは自分のターミナル環境の設定に合わせること。

** 参考 [#f9a81885]

https://superuser.com/questions/410864/vim-tmux-backspace

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS