VIM hat die Verwendung meiner _vimrc eingestellt und ich kann nicht herausfinden, wo sie eingestellt wird?

VIM hat die Verwendung meiner _vimrc eingestellt und ich kann nicht herausfinden, wo sie eingestellt wird?

Mein _vimrc sieht so aus


set nocompatible
source $VIMRUNTIME/vimrc_example.vim
colorscheme pablo
set backup=~/vimfiles/backup
set directory=~/vimfiles/tmp

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\ ' . arg3 . eq
endfunction

Ich glaube jedoch, dass Einstellungen verwendet werden, die folgendermaßen aussehen würden:


set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\ ' . arg3 . eq
endfunctio

Das Problem dabei ist:

A) Mir gefiel mein Farbschema, dank Ihrer Hilfe war es da.

B) Ich möchte die MSWin-Konfigurationen nicht verwenden. Das bringt mich durcheinander, besonders wenn Strg-Z und Strg-V Dinge tun, die ich nicht mag. Ich bevorzuge, dass Strg-V in den visuellen Modus wechselt, was Sinn ergibt.

C) Ich möchte ein temporäres Verzeichnis und ein Backup für Vim einrichten. (Ehrlich gesagt bin ich nicht sicher, ob ich diesen Teil richtig mache.

Antwort1

Geben Sie in VIM ein :version, und Ihnen wird zumindest die Reihenfolge angezeigt, in der die *vimrc-Dateien geladen werden.

Wie bei c) set directorybestimmt das Bit, wo VIM seine Auslagerungsdateien ablegt. Um anzugeben, wohin die eigentlichen Backups gehen, verwenden Sie:set backupdir

Antwort2

Wenn Sie herausfinden müssen, warum etwas in Vim eingestellt wird oder nicht, kann es für Sie hilfreich sein, einige allgemeine Methoden zur Fehlerbehebung für Vim zu kennen.

Sie können den Befehl " :scriptnames" nach dem Starten von Vim ausführen, um zu sehen, welche Skripte tatsächlich geladen wurden. Ihre vimrc sollte ganz oben stehen (meine ist Nr. 1).

Eine weitere Methode zum Ermitteln, was eine Option setzt, ist „:verbose setOptionsname?" (mit dem Fragezeichen). Wenn die Option nicht manuell vom Benutzer über die :-Befehlszeile festgelegt wurde, sollte unter dem aktuellen Wert der Option eine Zeile „Zuletzt festgelegt von ...“ stehen. Dies funktioniert leider nicht mit Nicht-Optionen, kann jedoch für andere Debugging-Zwecke verwendet werden. Siehe „ “ :help :verbose.

Antwort3

Sie können sehen, welche Vim-Init-Datei zuerst gefunden und verwendet wurde, indem Sie die Variable $MYVIMRC verwenden. Geben Sie sie einfach in der Eingabeaufforderung (Doppelpunkt) innerhalb einer Vim-Sitzung aus.

:echo $MYVIMRC

verwandte Informationen