Vim verwendet eine nicht standardmäßige Konfiguration, wenn sie von 'git commit' aufgerufen wird?

7

Ich habe bemerkt, dass git jedes Mal, wenn ich eine Commit-Nachricht schreibe, verschiedene vim-Einstellungen zu verwenden scheint. Ich habe die git+svn Installation von Macports, und ich habe die Variable $MYVIMRC überprüft: Es ist auf die richtige Datei eingestellt. Immer noch, jedes Mal, wenn ich eine Nachricht beginne, habe ich eine Beschränkung auf 80 Zeichen pro Zeile, Groß- und Kleinschreibung und keine der Plugins, die ich installiert habe.

Es ist wahrscheinlich etwas dummes. Würde einen Zeiger schätzen, was es ist.

EDIT: Eigentlich habe ich nur überprüft: meine Plugins funktionieren. Es ist nur die Spaltenbreite von 80 Zeichen, die auf wunderbare Weise lebendig wird, wenn ich Commit-Nachrichten eintippe.

    
dmkc 11.08.2010, 15:01
quelle

4 Antworten

15

Das ist kein Fehler, es ist eine Funktion!

Vim kennt viele Dateitypen - einschließlich Git Commits (und interaktive Rebases und Config ...). Es gibt Syntax-Definitionen und ftplugins (Dateityp-aktivierte Plugins) für jeden von diesen. Eine der Einstellungen im Commit ftplugin ist textwidth=72 . Dies geschieht, damit die Ausgabe von git log in einem Terminal mit Standardbreite gut aussieht. Wenn Sie es wirklich ändern möchten, könnten Sie das Plugin bearbeiten, aber ich würde wirklich empfehlen es zu behalten.

Das Plugin sollte in <vim-directory>/vimXX/ftplugin/gitcommit.vim sein. Die XX ist die Versionsnummer, z. 72 für Version 7.2, und die führende Komponente ist im Allgemeinen etwas wie /usr/share/vim .

P.S. Das Plugin definiert auch einen Befehl DiffGitCached, der den zu verschreibenden Diff in einem Vorschaufenster öffnet. Praktisch!

    
Cascabel 11.08.2010, 15:19
quelle
4

:verbose set textwidth? formatoptions? sagt Ihnen die Werte dieser Option und welches Skript sie zuletzt gesetzt hat. Text ist nur dann hart umgebrochen, wenn 'textwidth' ungleich Null ist und 'formatoptions' die Einstellung t enthält. Es ist wahrscheinlich, dass das Dateityp-Plugin gitcommit ( ftplugin/gitcommit.vim ) eine oder beide dieser Optionen ändert, weil Dateityp-Plugins aktiviert sind ( :filetype zeigt plugin:ON ).

    
jamessan 11.08.2010 15:16
quelle
1

Teilweise Antwort, vielleicht hilfreich ...

Laut ps aux beginnt git mit diesem Befehl vim:

%Vor%

Dies löst den Syntax-Modus gitcommit aus, der sich auf meinem Ubuntu-System in

befindet %Vor%

und wird von

geladen %Vor%     
Thomas 11.08.2010 15:17
quelle
1

FWIW, ich hatte ein ähnliches Problem - Vim hat meine textwidth-Einstellung in .txt-Dateien deaktiviert, weil eines der aufgerufenen Dateityp-Plugins die Zeile "formatoptions - = t"

hatte

Anstatt die Plugins zu bearbeiten (was mir unangenehm wurde), habe ich das Problem umgangen, indem ich die Zeile ": filetype plugins off" in meine ~ / .vimrc Datei eingefügt habe. Die Lösung wurde hier detailliert beschrieben - Ссылка

(Ich dachte ursprünglich, das Problem sei git-bezogen, aber nach dem Testen in einem nicht-git-Verzeichnis habe ich festgestellt, dass es an der Dateierweiterung .txt lag.)

    
Cody Hess 30.01.2011 19:39
quelle

Tags und Links