Home » Questions » Computers [ Ask a new question ]

Vim to replace Vi

Vim to replace Vi

Guys, anyone know how to change linux console editor from vi into vim everytime we execute vi? I'm using Ubuntu and Fedora Core

Asked by: Guest | Views: 317
Total answers/comments: 5
Guest [Entry]

"First, make sure you have the proper Vim packages installed. The default on many systems is to install a minimal Vim package that is closer to Vi in functionality.

On Red Hat based systems (RHEL, CentOS, Fedora), you need the vim-enhanced package, for example from a CentOS system I have installed:

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' contains common libraries used by all the Vim packages. 'minimal' is the plain vi editor executables as installed by default.

On Debian based systems (like Ubuntu), you need 'vim'. For example:

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

These should be installed by default. On Debian/Ubuntu, you can update the default system editor for all users:

sudo update-alternatives --config vi

Select the version you want from the selection menu. Post installation scripts for the vim package should have already updated this, though. Use --config editor to change the default editor for all users on the system (Ubuntu 9.04 original default is nano, for example).

Finally, on a per user basis for any distribution, set up an alias in the user profile. For example if the shell is bash, edit ~username/.bashrc:

alias vi=""vim""

Also, you may check the system vimrc (/etc/vimrc, usually) to see if compatibility mode is turned on.

set cp
set compatibility

Will tell Vim to behave more like old-school Vi, no matter how you've handled using Vim per above. Change to 'nocp' or 'nocompatibility' to make Vim more useful."
Guest [Entry]

If it is a Debian or Ubuntu system, and you want to make this change system wide, you should use update-alternatives (specify with the --config editor options, and you should be golden)
Guest [Entry]

"On Debian systems, when you execute the default vim-tiny as 'vi', a different RC file is used - /etc/vim/vimrc.tiny.

To make 'vi' act more like 'vim', edit /etc/vim/vimrc.tiny and change the line:

set compatible

to read:

set nocompatible"
Guest [Entry]

"I did it like that in .profile on archlinux using bash:

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

export EDITOR=vim

So, vim always is there be it properly or as vi."
Guest [Entry]

"If you use fish, put the below line in ~/.config/fish/config.fish:

alias vi=""vim"""