Mehrere Benutzer in dieser epischen Frage haben Folgendes in das Feld eingefügt.vimrc
:
" Necesary for lots of cool vim things
set nocompatible
Aber ist es wirklich notwendig? Aus den Dokumenten:
'compatible' 'cp'
boolean (default on, off when a |vimrc| or |gvimrc| file is found)
Wenn set nocompatible
es sich um .vimrc
eine .vimrc
Datei handelt , bedeutet dies, dass eine Datei vorhanden ist, was sie scheinbar sinnlos macht.
Antworten:
Wenn es sich um das systemweite vimrc handelt, ist diese Option nicht deaktiviert. Wenn Sie also das systemweite vimrc ändern und es möchten, müssen Sie es einstellen.
Aus dem Dokumentationsabschnitt * kompatibel-standard * (Hervorhebung von mir):
Ein weiterer Unterschied besteht darin, dass das explizite Festlegen von "nicht kompatiblen" Überschreibungen, die vim aufrufen, mit dem Flag -C festgelegt wird .
In jedem anderen Szenario ist das Einstellen von "nicht kompatibel" in Ihrem vimrc ein Noop.
Am Ende denke ich, dass es nur um "besser sicher als leid" geht.
quelle
-C
Flagge verknüpfen . Zumindest in meinem Browser (Chrome 10, Windows 7) springt es zur-c
Flagge. Also habe ich auf das,-D
was gerade oben ist , verlinkt . :(:set nocompatible
in .vimrc scheint einige Einstellungen zu ändern, zum Beispiel impliziert dies:set noshowcmd
. Ich weiß aber nicht warum.Viele Leute teilen ihre .vimrc-Dateien auf GitHub und manchmal teste ich Einstellungen, ohne meine .vimrc-Datei zu ersetzen. Mit vim kann ich dies mit dem Flag -u tun.
Von vim ": Hilfe nicht kompatibel"
Dies bedeutet, dass vim nicht so konfiguriert wird, als ob die Datei den Namen .vimrc hätte und sich in Ihrem Home-Verzeichnis befindet, wenn Sie Ihre .vimrc-Datei für jemanden freigeben und dieser das Flag -u zum Laden Ihrer Datei verwendet.
quelle
vim -Nu test_vimrc
nicht kompatible Komponenten können mit geladen werden, da -N den nicht kompatiblen Modus angibt.Ich habe vim in Cygwin auf einer Windows-VM verwendet und jedes Mal, wenn ich mich im Einfügemodus befand, führte das Drücken der Pfeiltasten dazu, dass vim "A", "B", "C" oder "D" auf dem Bildschirm druckte, anstatt zu scrollen. Ich habe ein Forum gefunden, das besagt, dass es behoben werden kann, wenn vim in den nicht kompatiblen Modus versetzt wird. Zum Glück tat es.
Ich habe "set nocompatible" in meine ~ / .vimrc-Datei eingefügt und das Problem bleibt bestehen. Vielleicht ist es also nicht 100% nutzlos.
quelle
~/.vimrc
. Die bloße Existenz dieser Datei versetzt vim in einen nicht kompatiblen Modus. Probieren Sie es aus, sichern Sie Ihre aktuelle .vimrcmv ~/.vimrc ~/.vimrc.bak
und erstellen Sie eine leeretouch ~/.vimrc
. Öffnen Sie jetzt vim und sehen Sie, was passiert.set nocompatible
ist vi ein Albtraum, mit den Cursortasten zu navigieren. Als ich Ihren Testfall ausprobierte, hatte ich sofort wieder denselben Albtraum mit dieser leeren .vimrc. Aber NOCH hast du überall recht gehabt. :-) Siehe zusätzliche Antwort zu meinen jüngsten Erkenntnissen.Aufgrund dessen, worauf Johnny oben hingewiesen hat, war ich einfach erstaunt, als ich DIESES herausfand:
ARGH !!!
Nein, das habe ich NICHT erwartet. Debian (oder Debian Unstable alias Ubuntu) macht ihren Benutzern tatsächlich einen Albtraum, indem es die Standardeinstellung überschreibt, indem es kompatibel eingestellt wird . Ich hoffe, dass Sie jetzt wissen, warum Sie, wenn Sie von FreeBSD kommen, als Erstes die systemweite Einstellung überschreiben müssen, indem Sie eine
set nocompatible
in Ihre eigene setzen~/.vimrc
. Denn sonst würden Sie nur Buchstaben produzieren, anstatt den Cursor so bewegen zu können, wie Sie es gewohnt sind.Ich denke, das ist eine schreckliche Idee. Mit anderen Worten, diese
set compatible
Zeile sollte sowohl in Debian als auch in Ubuntu systemweit entfernt werdenvimrc.tiny
, da sie neue Benutzer ärgert, die (noch) nicht so schlau sind, wie zu wissen, wie die Cursortasten funktionieren. Es sind Dinge wie diese, die sienano
und andere wegen solch völlig sinnloser Blocker zwingen !Ich würde wirklich gerne mit dem Typen sprechen, der diese Änderung einmal in die systemweite Ressourcendatei in Debian übertragen hat. Und vielleicht auch an die Menschen, die seine Veränderung in vollen Zügen anerkannt haben.
Johnny hat recht: Auf Ihrem privaten PC können Sie diese Zeile aus der systemweiten .vimrc entfernen (falls vorhanden) und eine leere .vimrc auf Ihrem $ HOME berühren . Vielen Dank für den Hinweis, viel weniger Unordnung wieder. Beachten Sie, dass Sie das haben MÜSSEN
~/.vimrc
(auch wenn es leer ist!), Da Sie sonst die Cursor nicht verwenden können, ohne sie explizit einzugebenset nocompatible
.quelle
vimrc.tiny
erklären, dass es nur bezogen wird, wenn Sie vim as aufrufenvi
. In diesem Fall ist es sinnvoll, vim zu verwenden, um zu versuchen, mit kompatibel zu seinvi
. Diese Datei wird beim Ausführen nicht bezogenvim
, und die zugehörigevimrc
Datei im selben Verzeichnis enthält sie nicht. All dies wird in den Kommentaren der gefundenenvimrc.tiny
Datei erklärt.