読者です 読者をやめる 読者になる 読者になる

YAMAGUCHI::weblog

土足で窓から失礼いたします。今日からあなたの息子になります。 当年とって92歳、下町の発明王、エジソンです。

ターミナルで制御文字が表示されてしまう

現象

Ctrl-F, Ctrl-P, Ctrl-Nなど、ターミナルで使うキーバインドが制御文字として表示されてしまう。

対処方法

sttyコマンドとbind(bindkey*1)を使う。

こんなかんじで。

$ stty kill ^k
$ bind '"\C-n": history-search-forward'

主な設定

stty

こんな感じで設定してみました。

sttyコマンド 制御文字
erase ^k
intr ^c
kill ^k

などなど。

bind

bashにはbindというコマンドがあるのでそれを使う。

$ bind '"\C-n": history-search-forward'
$ bind '"\C-p": history-search-backward'

また.inputrcに

set editing-mode emacs

と書いておけば通常の使い勝手になる。

*1:tcsh, zshの場合