tmuxセッション中でHomeキー、Endキーを有効にする
ここ数日ブロクへのアクセス数が妙に増える現象が発生しておりまして、不思議に感じてました私です_(:3 」∠)_
WSLで「普通」にDockerが動くようになっていた話(しかしdocker-composeは動かない) - 無気力生活 (ノ ´ω`)ノ ~゜
まあ契機としてはおそらくこの記事ですかね。やはりみんな興味ある話題なんですね、WSLでDocker使う方法。
さて、先々月くらいから本格的にtmuxを使い始めたのですが、結構困っていたことがあり。 まあタイトルに書いてあるとおり、tmuxのセッション中だと、Homeキー、Endキーが思ったとおりに動いてくれなかったんですよね(´・ω・`)
そのうち解決しようと思って放っておいたのですが、さすがにキャレットの移動が辛くなってきたため、今のうちに対応してしまおうかと思い立ったわけです。 自分の環境はこんな感じ
- Terminal: Hyper
- Tmux: 2.7
- $TERM: xterm-256color
すごく簡単に原因だけ書くのですが、tmuxのセッション中だと、Home,Endのエスケープコードが変わってきます。 (Hyperを使っている場合、Ctrl+vしてからキーをタイプするとわかります)
macOS(bash, zsh)
home: \e[OH~ end: \e[OF~
tmux
home: \e[1~ end: \e[4~
mac側のコードの場合は別途.zshrcにbindしてましたが、tmux側のコードは未指定でした。 結論、こうすればtmuxでもHome, Endが動くようになります。
bindkey '\e[1~' beginning-of-line bindkey '\e[4~' end-of-line
結構ピンポイントな情報がなく、探すのに苦労したのでメモ。
参考
https://wiki.archlinux.jp/index.php/Home%E3%82%84_End%E3%82%AD%E3%83%BC%E3%81%8C%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%AA%E3%81%84#Readline