33

我每天都越来越习惯使用 vi,但困扰我的一件事是,当我在 Ubuntu 上使用它时,它的行为与我在 CentOS(可能还有其他地方)上使用它时的行为不同。我实际上更喜欢它在 CentOS 中的工作方式。

以下是在 Ubuntu 上真正困扰我的三件事:

  1. 在 CentOS 插入模式下,底部有一个很大的粗体通知,表明我处于插入模式,但在 Ubuntu 中没有通知,所以我永远无法判断我处于哪种模式。

  2. 在 CentOS 插入模式下,我可以按上/下键,光标会上下移动。但是当我在 Ubuntu 中时,向上和向下按会分别在新行上插入字母 A 和 B。

  3. 在 CentOS 插入模式下,我可以使用退格键,它会删除光标之前的字符,但在 Ubuntu 中,我只是听到哔声,没有任何反应。我可以在命令模式下按删除键,但我宁愿能够按退格键。

这些差异是我必须忍受的还是很容易解决的?

4

9 回答 9

39

在 ubuntu 中,默认的 vim 安装来自 package vim-tiny,这不是全部。

您可能想要:

apt-get install vim

或者

apt-get install vim-full

您的其他一些问题听起来像是退格键和其他问题。获得完整版 vim 后,尝试将这些添加到您的 .vimrc 中:

set nocompatible

set t_kb=^H
fixdel

(重要提示:^H 是文字 ctrl-H 字符,您可以通过在插入模式下执行 Ctrl-V Ctrl-H 来获得)

于 2009-07-02T14:20:04.813 回答
6

之前提供的答案对我不起作用。

我倾向于尽可能保留 OS 安装并保持配置文件尽可能简单。为了在 Ubuntu 12.04 中解决这三个问题,我做了以下工作:

在 "~/.vimrc" 中,插入行 -
set nocp
set bs=2

于 2012-07-12T04:18:34.317 回答
5

除了安装 vim-full,如果你还没有~/.vimrc

$ cp /usr/share/vim/vimcurrent/vimrc_example.vim ~/.vimrc

此示例.vimrc已经进行了最重要的设置,是自定义的良好开端。

于 2009-08-09T16:55:54.357 回答
1

当您说 VI 时,我会假设您的意思是 VIM?至少,第二点似乎是 VIM/term 组合的控制台/终端问题。下面的页面建议了一些修复,但没有一个我可以解决(我在 Ubuntu 开发盒中使用 vim 而不是腻子)

http://vim.wikia.com/wiki/Fix_broken_arrow_key_navigation_in_insert_mode

可以通过在 .vimrc 中使用以下内容来覆盖第三点

设置退格=缩进,eol,开始

于 2009-07-02T14:23:43.450 回答
0

在我的 .vimrc 中设置这个对我有用..

set term=builtin_ansi
于 2013-06-13T09:56:12.190 回答
0

(1) 检查showmode两者的设置是否不同。

(2)这个不知道,我认为这与终端有关,而不是与Vi本身有关。

(3)也许尝试使用:map <BS> :normal d

于 2009-07-02T14:17:55.833 回答
0

在 CentOS 中,vi 是另一个程序 vim 的别名,但在最近的 Ubuntu 版本中,vi 仅表示 vi,而不是 vim。你看看两个不同程序vi和vim之间的区别。

如果你喜欢 vim,只需运行 vim,而不是 vi。这也适用于 Ubuntu

于 2009-07-03T10:19:44.033 回答
0

我有 WDMyCLoud 和 Debian 7,我使用的是:

cp /usr/share/vim/vimcurrent/debian.vim ~/.vimrc

于 2017-02-16T09:21:39.730 回答
0

就我而言,.vim 文件的创建方式如下:

set nocompatible

fixdel

如果我添加set t_kb=^H,退格键只是作为删除键。

于 2019-07-20T10:37:07.873 回答