Vim pour remplacer Vi

29

Les gars, n'importe qui sait comment changer l'éditeur de console linux de vi en vim à chaque fois que nous exécutons vi? J'utilise Ubuntu et Fedora Core

Funky81
la source
2
Juste curieux: quelle dist Linux. est-ce? Je ne me souviens pas avoir jamais vu une vielle école par défaut.
Brian Rasmussen
2
En fait, il est très peu probable que ce soit vi, car ce ne serait pas du code FOSS.
De mémoire, c'est que certaines distro (je pense que c'était RHEL), ils ont configuré la commande vien mode classique dans VIM.
Seh Hui Leong
4
Pourquoi exécuter vi si vous préférez vim? export EDITOR = vim?
Tadeusz A. Kadłubowski
Arch a également un clone "vi" par défaut, au lieu de vim.
WhyNotHugo

Réponses:

34

Tout d'abord, assurez-vous que les packages Vim appropriés sont installés. La valeur par défaut sur de nombreux systèmes consiste à installer un package Vim minimal plus proche de Vi en termes de fonctionnalités.

Sur les systèmes basés sur Red Hat (RHEL, CentOS, Fedora), vous avez besoin du package amélioré vim, par exemple à partir d'un système CentOS que j'ai installé:

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' contient des bibliothèques communes utilisées par tous les packages Vim. 'minimal' est les exécutables de l'éditeur vi ordinaire installés par défaut.

Sur les systèmes basés sur Debian (comme Ubuntu), vous avez besoin de 'vim'. Par exemple:

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

Ceux-ci doivent être installés par défaut. Sur Debian / Ubuntu, vous pouvez mettre à jour l'éditeur système par défaut pour tous les utilisateurs:

sudo update-alternatives --config vi

Sélectionnez la version souhaitée dans le menu de sélection. Les scripts de post-installation pour le paquet vim devraient cependant avoir déjà mis à jour cela. Permet --config editorde modifier l'éditeur par défaut pour tous les utilisateurs du système (par défaut, Ubuntu 9.04 est nano, par exemple).

Enfin, pour chaque distribution, pour chaque utilisateur, définissez un alias dans le profil utilisateur. Par exemple, si le shell est bash, éditez ~ username / .bashrc:

alias vi="vim"

En outre, vous pouvez vérifier le système vimrc (/ etc / vimrc, généralement) pour voir si le mode de compatibilité est activé.

set cp
set compatibility

Dira à Vim de se comporter plus comme Vi à l'ancienne, peu importe comment vous avez géré l'utilisation de Vim ci-dessus. Changez pour «nocp» ou «nocompatibility» pour rendre Vim plus utile.

jtimberman
la source
2
Sur les versions récentes d'ubuntu, seul vim-tiny est installé par défaut. Installez vim pour obtenir la version complète.
Hamish Downer,
28

Dans votre .bashrc:

alias vi=vim
Al.
la source
2
Cela n'affectera rien qui n'utilise pas bash, par exemple lorsque vous appuyez sur "v" à l'intérieur de less (1), il exécutera toujours le "vrai" vi.
Kevin Panko
2
Les variables d'environnement EDITORet VISUALseront prioritaires lorsque vous frapperez vsur la vicommande par défaut . Donc, dans votre .bashrcexportation EDITORou VISUALavec vimcomme valeur; par exemple, export EDITOR=vimet export VISUAL=vimdans votre.bashrc
Nitrodist
10

S'il s'agit d'un système Debian ou Ubuntu et que vous souhaitez étendre ce système de modification, vous devez utiliser update-alternatives(spécifiez avec les --config editoroptions, et vous devriez être en or)

mwalling
la source
9

Si vous avez besoin des modifications uniquement pour votre identifiant et dans une session de terminal: alias vi à vim comme suggéré par AI.

Si vous voulez un changement à l'échelle du système sur votre machine, créez un lien logiciel vers vim dans / usr / local / bin :

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

Remarque: Les programmes peuvent ignorer tous les alias sur vi en exécutant command viou \viau lieu de simplement vi.

nagul
la source
3

Certaines dists utilisent le mode old school de vim: s où il se comporte comme vi.

vérifiez si votre .vimrc contient

set nocompatible

J'ai été dupé par cela plusieurs fois ...

Johan
la source
1

Sur les systèmes Debian, lorsque vous exécutez le vim-tiny par défaut en tant que «vi», un fichier RC différent est utilisé - /etc/vim/vimrc.tiny.

Pour que 'vi' se comporte plus comme 'vim', éditez /etc/vim/vimrc.tiny et changez la ligne:

set compatible

lire:

set nocompatible

la source
0

Je l'ai fait comme ça .profilesur utilisant :

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

export EDITOR=vim

Donc, est toujours là que ce soit correctement ou .


la source
0

Si vous utilisez du poisson , insérez la ligne ci-dessous ~/.config/fish/config.fish:

alias vi="vim"
Zhang Buzz
la source