YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

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

現象

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の場合