精華區beta FreeBSD 關於我們 聯絡資訊
事情的發生是由於不同的 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