用Vim代替Vi


29

伙计们,有人知道每次执行vi时如何将Linux控制台编辑器从vi更改为vim吗?我正在使用Ubuntu和Fedora Core


2
只是好奇:什么Linux发行版。就是它?我不记得曾经看到过旧式Vi作为默认设置。
布赖恩·拉斯穆森

2
实际上,不可能是vi,因为那不是FOSS代码。

从内存来看,有些发行版(我认为是RHEL),他们vi在VIM 中将命令配置为经典模式。
Seh Hui Leong,

4
如果您喜欢vim,为什么还要执行vi?导出EDITOR = vim?
Tadeusz A.Kadłubowski09年

默认情况下,Arch也有一个“ vi”克隆,而不是vim。
WhyNotHugo 2012年

Answers:


34

首先,请确保您已安装正确的Vim软件包。许多系统上的默认设置是安装最小的Vim软件包,该软件包在功能上更接近Vi。

在基于Red Hat的系统(RHEL,CentOS,Fedora)上,您需要vim增强的软件包,例如从我已安装的CentOS系统中:

vim-common-7.0.109-4.el5_2.4z
vim-enhanced-7.0.109-4.el5_2.4z
vim-minimal-7.0.109-4.el5_2.4z

“ common”包含所有Vim软件包使用的公共库。“ minimal”是默认情况下安装的普通vi编辑器可执行文件。

在基于Debian的系统(如Ubuntu)上,您需要'vim'。例如:

ii  vim                  2:7.2.079-1ubuntu5  Vi IMproved - enhanced vi editor
ii  vim-common           2:7.2.079-1ubuntu5  Vi IMproved - Common files
ii  vim-runtime          2:7.2.079-1ubuntu5  Vi IMproved - Runtime files
ii  vim-tiny             2:7.2.079-1ubuntu5  Vi IMproved - enhanced vi editor - compact version

这些应该默认安装。在Debian / Ubuntu上,您可以为所有用户更新默认的系统编辑器:

sudo update-alternatives --config vi

从选择菜单中选择所需的版本。不过,vim软件包的安装后脚本应该已经对此进行了更新。使用--config editor更改系统上的所有用户的默认编辑器(Ubuntu 9.04的初始默认为纳米,例如)。

最后,基于每个用户的任何分发,在用户配置文件中设置一个别名。例如,如果外壳为bash,则编辑〜username / .bashrc:

alias vi="vim"

另外,您可以检查系统vimrc(通常是/ etc / vimrc)以查看兼容模式是否打开。

set cp
set compatibility

无论您如何使用上述Vim进行操作,都会告诉Vim表现得更像老式的Vi。更改为“ nocp”或“ nocompatibility”以使Vim更加有用。


2
在最新版本的ubuntu上,默认情况下仅安装vim-tiny。安装vim以获取完整版本。
Hamish Downer

28

在您的.bashrc中:

alias vi=vim

2
这不会影响任何不使用bash的东西,例如,当您在less(1)中按下“ v”时,它将仍然运行“真实” vi。
凯文·潘科

2
当您点击默认命令时,环境变量EDITORVISUAL将优先。所以,在你的出口或与它的价值; 例如,并且在你的vvi.bashrcEDITORVISUALvimexport EDITOR=vimexport VISUAL=vim.bashrc
Nitrodist

10

如果它是Debian或Ubuntu系统,并且您想在整个系统范围内进行此更改,则应使用update-alternatives(指定--config editor选项,并且应该是黄金的)


9

如果仅在ID以及终端会话中需要更改,请按照AI的建议将vi别名为vim。

如果要在机器上进行系统范围的更改,请在/ usr / local / bin中软链接到vim :

sudo ln -s `which vim` /usr/local/bin/vi

注意:程序可以通过运行command vi\vi而不是仅忽略vi来忽略vi上的任何别名。


3

某些发行人使用vim:s的老式模式,其行为类似于vi。

检查您的.vimrc是否包含

set nocompatible

我被这几次欺骗了...


1

在Debian系统上,当您将默认的vim-tiny执行为'vi'时,将使用另一个RC文件-/etc/vim/vimrc.tiny。

要使“ vi”的行为更像“ vim”,请编辑/etc/vim/vimrc.tiny并更改以下行:

set compatible

阅读:

set nocompatible

0

.profile使用做到了这一点:

if [ -f "/usr/bin/vim" ];
 alias vi="vim"
else
 alias vim="vi"
fi

export EDITOR=vim

因此,总是正确存在或作为


0

如果您使用,则将以下行放入~/.config/fish/config.fish

alias vi="vim"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.