使用vi是方向键变乱码 退格键不能使用的解决方法

一、编辑/etc/vim/vimrc.tiny

由于/etc/vim/vimrc.tiny的拥有者是root用户,所以要在root的权限下对这个文件进行修改。很简单,这个文件里面的倒数第二句话是“set compatible”,如下所示:

将“compatible”改成“nocompatible”非兼容模式就可以解决方向键变ABCD的问题了。接下来要解决Backspace键的问题也很简单,在刚才那句话后面再加一句:

[cpp] view plaincopy

  1. set backspace=2

变成下图所示:

就可以解决问题了。这个时候,无论对于哪个用户,使用vi都能很方便的按照我们的习惯去编辑文件了。

二、安装vim full版本

由于ubuntu预安装的是tiny版本,所以会导致我们在使用上的产生上述的不便。但是,我们安装了vim的full版本之后,键盘的所有键在vi下就很正常了。

首先,要先卸掉旧版的vi,输入以下命令:

[cpp] view plaincopy

  1. sudo apt-get remove vim-common

然后安装full版的vim,输入命令:

[cpp] view plaincopy

  1. sudo apt-get install vim

这样安装好了之后,我们在编辑文件的时候依然是使用“vi”命令来启动新装的vim,但是操作起来比tiny更加方便了。

三、添加".vimrc"文件

这并不是一个聪明的方法。它是在用户的个人目录下,编辑.vimrc文件(注意文件名是以“.”开头的),添加下面两句语句:

[cpp] view plaincopy

  1. set nocompatible          //以非兼容模式工作
  2. set backspace=2

如下图所示:

保存退出之后,以后该用户使用vi就能够避免键盘方向键和Backspace键无效的问题了。

之所以说它不是个聪明的办法是因为我们必须为每个用户都在其个人目录下添加“.vimrc”文件,才能使所有用户都正常使用vi的功能,这是个比较大的工作量。所以也不推荐,尽管我自己初始也是用这种办法解决的(因为我系统上的用户只有2个,比较少)。

时间: 2024-10-25 17:46:16

使用vi是方向键变乱码 退格键不能使用的解决方法的相关文章

Linux下使用Vi是方向键变乱码 退格键不能使用的解决方法

在Linux下编辑一些文件,这就涉及到了vi这个编辑器了.在Linux下,初始使用vi的时候有点问题,就是在编辑模式下使用方向键的时候,并不会使光标移动,而是在命令行中出现[A [B [C [D之类的字母,而且编辑错误的话,就连平时关于的退格键(Backspace键)都使用不了,只能用Delete来删除.针对这个问题,网上的答案有很多,例如是安装完整版的vim啊,编辑/etc/vim/vimrc.tiny等方法,很杂很乱,在这里我就做个详细的总结吧: 一.编辑/etc/vim/vimrc.tin

Ubuntu下使用Vi是方向键变乱码 退格键不能使用的解决方法

一.编辑/etc/vim/vimrc.tiny 由于/etc/vim/vimrc.tiny的拥有者是root用户,所以要在root的权限下对这个文件进行修改.很简单,这个文件里面的倒数第二句话是"set compatible",如下所示: 将"compatible"改成"nocompatible"非兼容模式就可以解决方向键变ABCD的问题了.接下来要解决Backspace键的问题也很简单,在刚才那句话后面再加一句: set backspace=2

[转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法

[From] https://www.zmrbk.com/post-2030.html https://blog.csdn.net/suifengshiyu/article/details/40952771 我的理解是,如果出现如题所描述的问题,这是因为使用了不同的shell程序和对应的stty设置对应关系所综合作用的结果. 这是/bin/sh里面stty -a命令输出的信息: $ stty -a speed 38400 baud; rows 43; columns 209; line = 0;

Linux使用退格键时出现^H ^?解决方法

Linux使用退格键时出现^H ^?解决方法 在linux下执行脚本不注意输错内容需要删除时总是出现^H ^H不是H键的意思,是backspace.主要是当你的终端backspace有问题的时候才需要设置. 解决方法有两种: 1.要使用回删键(backspace)时,同时按住ctrl键 2.设定环境变量 在脚本的开头或结尾 参数 stty erase ^H stty erase ^? 在bash下:$stty erase ^? 或者把 stty erase ^? 添加到.bash_profile

Linux 使用退格键时出现^H解决方法

当我们再和脚本交互的时候,在终端上输错了内容,使用退格键,屏幕上会出现乱码,比如 ^H.^H不是H键的意思,是backspace. 主要是当你的终端backspace有问题的时候才需要设置. 解决方法有两种: 1.要使用回删键(backspace)时,同时按住ctrl键 2.设定环境变量 3.在脚本的开头可结尾 参数 stty erase ^H stty erase ^? 2)在bash下:$ stty erase ^? 或者把 stty erase ^? 添加到.bash_profile中.

SecureCRT终端上使用spark-shell时按退格键无反应的解决方法

问题:用SecureCRT远程连接至Spark集群,启动spark-shell却发现输错命令后却无法用退格键删除. 解决方法: 第一步: 在SecureCRT的菜单栏选择"OPtions(选项)"按钮,在弹出的选项中选择"Session Options(会话选项)" 第二步: 在弹出的对话框中选择左侧的"Emulation(终端)",再选择"仿真",在右侧Terminal(终端)的选择中选择"Linux"

SecureCRT远程连接Linux下的sqlplus中退格键不能使用之解决方法

^H不是H键的意思,是backspace 主要是当你的终端backspace有问题的时候才需要设置 在linux环境下使用sqlplus,在回删(backspace)时往往会出现 一串的乱码.出现乱码是由于oracle的sqlplus不使用gnu的readline库造成的. 解决方法有2种: 1. 要使用回删键(backspace)时,同时按住ctrl键 2. 设定环境变量 在bash下:$ stty erase ^H 或者把 stty erase ^? 添加到.bash_profile中. 在

Linux使用退格键时出现^H解决方法

以前在linux下执行脚本不注意输错内容需要删除时总是出现^H ,以前不知道真相的我没办法只有再重头运行一次脚本,后来发现其实时有解决办法的,所以记录一下. ^H不是H键的意思,是backspace.主要是当你的终端backspace有问题的时候才需要设置. 解决方法有两种:1.要使用回删键(backspace)时,同时按住ctrl键2.设定环境变量在脚本的开头或结尾 参数 stty erase ^H stty erase ^?在bash下:$ stty erase ^?或者把 stty era

关于cocos2dx3.0 UITextField不能使用退格键删除字符的解决方式

近日開始将项目移植到cocos2dx 3.0版本号,出现了一些问题,UI方面眼下就发现UITextField控件不能响应退格键或者删除键,在Windows以下调试如此,我開始以为是平台支持不好,后来公布到Android后也是如此. 没办法仅仅好跟踪了一下源代码.Key操作基本的处理是在CCGLView类里面的GLView::onGLFWKeyCallback().看了一下其它函数的处理,定位问题是没有通知IMEDispatcher.尝试在这个函数里面加入?了几行代码: if(GLFW_KEY_D