Vim als Ersatz für Vi


29

Leute, weiß jemand, wie man den Linux-Konsoleneditor jedes Mal, wenn wir vi ausführen, von vi in ​​vim ändert? Ich benutze Ubuntu und Fedora Core


2
Nur neugierig: Welches Linux dist. ist dass? Ich kann mich nicht erinnern, jemals ein altes Vi als Standard gesehen zu haben.
Brian Rasmussen

2
Tatsächlich ist es äußerst unwahrscheinlich, dass es sich um vi handelt, da dies kein FOSS-Code wäre.

Aus dem Gedächtnis geht hervor, dass einige Distributionen (ich glaube, es war RHEL) den Befehl viin VIM auf den klassischen Modus konfiguriert haben .
Seh Hui Leong

4
Warum vi ausführen, wenn Sie vim bevorzugen? export EDITOR = vim?
Tadeusz A. Kadłubowski

Arch hat außerdem standardmäßig einen "vi" -Klon anstelle von vim.
WhyNotHugo

Antworten:


34

Stellen Sie zunächst sicher, dass Sie die richtigen Vim-Pakete installiert haben. Die Standardeinstellung auf vielen Systemen ist die Installation eines minimalen Vim-Pakets, dessen Funktionalität Vi näher kommt.

Auf Red Hat-basierten Systemen (RHEL, CentOS, Fedora) benötigen Sie das vim-erweiterte Paket, zum Beispiel von einem CentOS-System, das ich installiert habe:

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' enthält gemeinsame Bibliotheken, die von allen Vim-Paketen verwendet werden. 'minimal' ist die standardmäßig installierte ausführbare Datei des normalen vi-Editors.

Auf Debian-basierten Systemen (wie Ubuntu) benötigen Sie 'vim'. Beispielsweise:

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

Diese sollten standardmäßig installiert sein. Unter Debian / Ubuntu können Sie den Standard-Systemeditor für alle Benutzer aktualisieren:

sudo update-alternatives --config vi

Wählen Sie die gewünschte Version aus dem Auswahlmenü. Post-Installationsskripte für das vim-Paket sollten dies jedoch bereits aktualisiert haben. Verwenden Sie --config editordiese Option , um den Standardeditor für alle Benutzer auf dem System zu ändern (der ursprüngliche Standard für Ubuntu 9.04 ist beispielsweise nano).

Richten Sie schließlich für jede Distribution einen Alias ​​im Benutzerprofil ein. Wenn die Shell beispielsweise bash ist, bearbeiten Sie ~ username / .bashrc:

alias vi="vim"

Sie können auch die System-VIMRC (normalerweise / etc / vimrc) überprüfen, um festzustellen, ob der Kompatibilitätsmodus aktiviert ist.

set cp
set compatibility

Sagt Vim, er solle sich mehr wie Vi der alten Schule verhalten, egal wie Sie mit Vim wie oben beschrieben umgegangen sind. Wechseln Sie zu 'nocp' oder 'nocompatibility', um Vim nützlicher zu machen.


2
In neueren Ubuntu-Versionen wird standardmäßig nur vim-tiny installiert. Installieren Sie vim, um die Vollversion zu erhalten.
Hamish Downer

28

In Ihrem .bashrc:

alias vi=vim

2
Dies hat keine Auswirkung auf alles, was bash nicht verwendet. Wenn Sie z. B. "v" in less (1) drücken, wird trotzdem das "echte" vi ausgeführt.
Kevin Panko

2
Die Umgebungsvariablen EDITORund VISUALhaben Vorrang, wenn Sie vden Standardbefehl viüberschreiben. Also, in Ihrem .bashrcExport EDITORoder VISUALmit vimals Wert; zB export EDITOR=vimund export VISUAL=vimin Ihrem.bashrc
Nitrodist

10

Wenn es sich um ein Debian- oder Ubuntu-System handelt und Sie diese Änderung systemweit vornehmen möchten, sollten Sie verwenden update-alternatives(mit den --config editorOptionen angeben , und Sie sollten golden sein)


9

Wenn Sie die Änderungen nur für Ihre ID und innerhalb einer Terminalsitzung benötigen: Alias ​​vi bis vim, wie von AI vorgeschlagen.

Wenn Sie eine systemweite Änderung auf Ihrem Computer wünschen, führen Sie einen Softlink zu vim in / usr / local / bin aus :

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

Hinweis: Programme können Aliase auf vi ignorieren, indem sie command vioder \vianstelle von nur vi ausführen.


3

Einige Benutzer verwenden den Old-School-Modus von vim: s, in dem es sich wie vi verhält.

Überprüfen Sie, ob Ihre .vimrc enthält

set nocompatible

Das hat mich ein paarmal reingelegt ...


1

Wenn Sie auf Debian-Systemen das Standard-vim-tiny als 'vi' ausführen, wird eine andere RC-Datei verwendet - /etc/vim/vimrc.tiny.

Bearbeiten Sie /etc/vim/vimrc.tiny und ändern Sie die Zeile, damit 'vi' mehr wie 'vim' wirkt:

set compatible

lesen:

set nocompatible

0

Ich habe es .profileauf mit :

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

export EDITOR=vim

Also, immer da, sei es ordentlich oder als .


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.