バックスペースが動作しない

現象

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

解決方法

現在の状態を確認する

 $ 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を^?に設定する

 [[ -n "$TMUX" ]] && stty erase ^?
 [[ "$TERM" =~ ^screen ]] && stty erase ^?
  • ^? の箇所は、CTRL-Vを押した後に、バックスペースキーを押す。バックスペースのキーコードを入力する。
  • 文字通り^?と入力しないこと。

参考

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


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS