VI下方向键变成ABCD的解决办法

本文介绍了解决Ubuntu系统中Vi编辑器Backspace键无法正常工作的多个方案,包括修改.vimrc文件来调整设置,以及升级Vi版本到Vim来彻底解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

i edit some file in ubuntu using vi,

using module "a" or "I"

weired thing happend

Backspace didn't work, and "left","right","up","down" make no sense, instead as A B C D.

so i search  for "ubuntu vi backspace A B C D"  at google

 

there are plenty method ,i list them below

 

1. http://www.hkcode.com/linux-bsd-notes/443

vi 的方向鍵及 backspace 鍵
在 Ubuntu 使用 vi 的 insert 模式時,按下方向鍵會出現 ABCD,而 backspace 鍵則不會刪除字符,解決方法是在 home directory 建立 .vimrc 檔案,並加入以下內容:

set nocompatible
set backspace=2

 

2.http://nathan-wu.javaeye.com/blog/135984

vim backspace or delete can not work fix problem!!!

try this:
set nocompatible
set backspace=indent,eol,start
set bs=2 << maybe need add this

the problem show on cygwin with winxp and freebsd vim 7.1 at least i have that problem.

 

3.http://zhumeng8337797.blog.163.com/blog/static/1007689142010102534136242/

插入模式backspace不能用:
vimrc加上 "set bs=2"

set nocompatible
set backspace=indent,eol,start
set bs=2

 

4.http://hi.baidu.com/sunyubo458/blog/item/33ae2ac285a5b63ce4dd3bab.html

http://topic.youkuaiyun.com/u/20090915/18/bd8ba168-f658-4354-b0f1-eebeed274f72.html  (REASON&RECOMMAND!!)

Vim由7.1升级成7.2

     以下是vim help中的原文:


                                                         *'backspace'* *'bs'*
'backspace' 'bs'         字符串   (缺省为 "")
                         全局
                         {Vi 无此功能}
         影响 <BS>、<Del>、CTRL-W 和 CTRL-U 在插入模式下的工作方式。它是逗号分
         隔的项目列表。每个项目允许一种退格删除的内容:
         值       效果     ~
         indent   允许在自动缩进上退格
         eol     允许在换行符上退格 (连接行)
         start   允许在插入开始的位置上退格;CTRL-W 和 CTRL-U 到达插入开始的位
                 置时停留一次。

         如果该值为空,使用 Vi 兼容的退格方式。

         为了和 5.4 及更早的版本后向兼容:
         值       效果     ~
           0     等同于 ":set backspace=" (Vi 兼容)
           1     等同于 ":set backspace=indent,eol"
           2     等同于 ":set backspace=indent,eol,start"

         如果你的 <BS> 或 <Del> 不合你的期望,见 |:fixdel|。
         注意: 如果置位 'compatible',该选项被设为 ""。



     所以解决的办法就是在vimrc文件中加入如下代码:

set backspace=indent,eol,start



     如果还不行的话,可能还需要

set nocompatible


5.My final Plan
要注意ubuntu linux默认安装的是vim-tiny,这个版本有诸如BACKSPACE不能擦除的问题(that is, vim take vi configuration as default)



运行 sudo apt-get install vim解决问题。

另外到www.linuxsir.org
或者wiki.ubuntu.org.cn去接受一点基本知识有好处。



!!!


reference:http://blog.youkuaiyun.com/ablo_zhou/archive/2009/02/04/3860236.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值