跳转至

ubuntu下的问题

https://blog.admpub.com/blog/post/admin/Vi%E6%96%B9%E5%90%91%E9%94%AE%5BA-%5BB-%5BC-%5BD%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3

该问题由于只安装了tiny版所引起,打开c/python/shell文件,代码无高亮。

1. 问题

在ubuntu下, vi 在编辑模式下使用方向键时没有移动光标,而是在出现 [A [B [C [D 之类的字母乱码。编辑错误的话,就连退格键(Backspace键)都使用不了,只能用Delete来删除。

  • Vim Tiny 版:这是一个轻量级的版本,仅具备最基本的文本编辑功能。它缺少很多高级特性,例如语法高亮、多窗口编辑、复杂的键映射、插件支持等。对于简单的文本编辑需求,如快速修改配置文件中的少量内容,Vim Tiny 版可以完成基本的输入、删除和保存操作。
  • Vim Full 版:提供了完整的 Vim 功能集。它支持丰富的语法高亮,能够针对不同编程语言(如 Python、Java、C++ 等)显示不同颜色,方便开发者阅读和编写代码;具备多窗口编辑功能,可同时打开多个文件或一个文件的不同部分进行对比编辑;支持复杂的键映射和宏录制,能让用户根据自己的习惯自定义操作;还可以安装各种插件来扩展功能,如代码补全、版本控制集成等。

检查版本

1.1 方法1 使用dpkg命令查看已安装的包
Bash
dpkg -l | grep vim
该命令会列出所有和 Vim 相关的已安装软件包。若输出里有vim-tiny,表明安装的是 Tiny 版;若有vim或者vim-full,则说明安装的是 Full 版。

Full版输出如下:
ii  vim                                        2:8.2.3995-1ubuntu2.11                  amd64        Vi IMproved - enhanced vi editor
ii  vim-common                                 2:8.2.3995-1ubuntu2.11                  all          Vi IMproved - Common files
ii  vim-runtime                                2:8.2.3995-1ubuntu2.11                  all          Vi IMproved - Runtime files
ii  vim-tiny                                   2:8.2.3995-1ubuntu2.11                  amd64        Vi IMproved - enhanced vi editor - compact version


Tiny版输出如下:
ii  vim-common                                 2:8.2.3995-1ubuntu2.11                  all          Vi IMproved - Common files
ii  vim-tiny                                   2:8.2.3995-1ubuntu2.11                  amd64        Vi IMproved - enhanced vi editor - compact version
1.2 方法2 查看 Vim 的功能特性

通过启动 Vim 并查看其功能,也能判断版本。打开终端,输入vim并回车启动 Vim,然后进行如下操作:

  • 语法高亮:打开一个代码文件,比如 Python 文件。要是代码有不同颜色的高亮显示,说明是 Full 版,因为 Tiny 版通常没有语法高亮功能。
  • 命令检查:在 Vim 的命令模式下(按下Esc键进入),输入:set number,若能显示行号,说明是 Full 版;若该命令不起作用,或则觉得显示不正常可能是 Tiny 版。
1.3 方法3 查看 Vim 的版本信息
Text Only
vim --version
vim --version | grep "syntax"

输出信息里会包含 Vim 的详细版本和编译选项。Full 版的输出通常会显示更多的功能特性和编译选项,而 Tiny 版的输出则相对简洁。例如,Full 版可能会显示对+syntax(支持语法高亮)、+gui(支持图形界面)等特性的支持,而 Tiny 版可能没有这些特性或者显示的是-syntax。

2. 解决

方法一:编辑/etc/vim/vimrc.tiny文件

root权限下打开 /etc/vim/vimrc.tiny 文件,将“compatible”改成“nocompatible”非兼容模式:

GAS
set nocompatible

就可以解决方向键变ABCD的问题了。接下来要解决Backspace键的问题也很简单,在刚才那句话后面再加一句:

GAS
set backspace=2

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

方法二:安装vim full版本(推荐方式)

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

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

GAS
sudo apt-get remove vim-common

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

Text Only
sudo apt-get install vim

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