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:
'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.
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)
vi
in VIM auf den klassischen Modus konfiguriert haben .Antworten:
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:
'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:
Diese sollten standardmäßig installiert sein. Unter Debian / Ubuntu können Sie den Standard-Systemeditor für alle Benutzer aktualisieren:
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 editor
diese 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:
Sie können auch die System-VIMRC (normalerweise / etc / vimrc) überprüfen, um festzustellen, ob der Kompatibilitätsmodus aktiviert ist.
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.
quelle
In Ihrem .bashrc:
quelle
EDITOR
undVISUAL
haben Vorrang, wenn Siev
den Standardbefehlvi
überschreiben. Also, in Ihrem.bashrc
ExportEDITOR
oderVISUAL
mitvim
als Wert; zBexport EDITOR=vim
undexport VISUAL=vim
in Ihrem.bashrc
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 editor
Optionen angeben , und Sie sollten golden sein)quelle
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 :
Hinweis: Programme können Aliase auf vi ignorieren, indem sie
command vi
oder\vi
anstelle von nur vi ausführen.quelle
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
Das hat mich ein paarmal reingelegt ...
quelle
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:
lesen:
quelle
Ich habe es
.profile
auf Archlinux mit bash so gemacht :Also, vim ist immer da, sei es ordentlich oder als vi .
quelle
Wenn Sie Fisch verwenden , geben Sie die folgende Zeile ein
~/.config/fish/config.fish
:quelle