看板FreeBSD
标 题心得 在 freebsd 4.8 下在 bash screen 及 vim 环境使用 backspace
发信站SayYA 资讯站 (Tue Aug 17 13:33:14 2004)
转信站ptt!ctu-reader!news.nctu!SayYa
事情的发生是由於不同的 Terminal 会将不同的按键定义为backspace
有一些是 ctrl-H 有一些则为 ctrl-?
在 putty 里面的 keyboard 设定,可让使用者选择 backspace 所发出的
字元为 ctrl-h 或 ctrl-?,
但是当你连上不同的 Terminal 时, 可能会发生 backspace 无法动作的情形
假设你在按下 backspace 键时, 发出的按键为 ctrl-h
这时 在 bash shell 可以编辑
$HOME/.inputrc 这个档案加入以下这行
"\C-H": backward-delete-char
但是当我使用 screen 时,发现 backspace 所发出的按键为 ^[[3~
^[ 表示为 ESCape
所以将 $HOME/.inputrc 加入以下这行
"\e[3~": backward-delete-char
至於为何使用 screen 会改变 backspace 所输出的字元,这我就不清楚了,
有人要回答吗? :)
在 VIM 若要使用 backspace, 必须要使用以下命令
set bs=2
在 VIM 里面,如果你的 backspace 发出的字元是 ctrl-h 的话
使用 backspace 是应该是没有问题的,但是,因为使用 screen 会将 backspace
发出的字元改为 ^[[3~, 必须将 ^[[3~ 在 insert mode 中 map 为 <BS>
而由於 ^[[3~ 在 VIM 中 的 digraphs 为 <kDel>, 使用以下的命令即可
imap <kDel> <BS>
若有任何错误,请指教!
By Typical
--
※ Origin: SayYA 资讯站 <bbs.sayya.org>
◆ From: apt.wmlab.csie.ncu.edu.tw