"Ein Teil des Menüelementpfads ist kein Untermenü" -Fehler in vim config

2

Ich habe vor kurzem angefangen, diesen Fehler zu bekommen, als ich vim geöffnet habe, und ich habe keine Ahnung warum.

Error detected while processing /usr/share/vim/vim73/menu.vim:
line  352:
E327: Part of menu-item path is not sub-menu
Press ENTER or type command to continue

Ich habe diese Datei noch nie bearbeitet und verstehe nicht wirklich, was los ist. Hier ist der Teil, der den Fehler verursacht:

 349 " define all the submenu entries
 350 let s:idx = 100
 351 for s:name in s:names
 352   exe "an 20.450." . s:idx . ' &Edit.C&olor\ Scheme.' . s:name . " :colors " . s:name . "<CR>"
 353   let s:idx = s:idx + 10
 354 endfor
 355 unlet s:name s:names s:n s:idx

Weiß jemand, wie man das behebt? Vielen Dank! Übrigens bin ich auf OS X 10.8 mit Vim 7.3

addison
quelle
Ich würde die Dinge sparen, die Sie interessieren ( .vimrcusw.) und vim entfernen / neu installieren. Keine Ideenlösung, aber so klingt der einfachste Weg. Wenn Sie offen für Vorschläge von Redakteuren sind, schauen Sie sich Sublime Text an . Früher habe ich verwendet, vimbis ich darauf verwiesen wurde. Die Tastaturbefehle und -funktionen sind fantastisch (und Sie können Plugins mit Python erstellen. So sollte es sein, einfach und schnell statt vimspezifisch ...)
Nerdwaller
Ich verwende Sublime Text 3 die meiste Zeit, aber ich verwende vim für schnelle Änderungen, wenn ich bereits in der Befehlszeile bin, oder zum Bearbeiten versteckter Dateien.
Addison
Das Hinzufügen von Informationen wie Betriebssystem, VIM-Version usw. zu Ihrer Frage kann hilfreich sein. Bitte wählen Sie einfach einen Tag für Ihr Betriebssystem.
Slhck
Ich musste meine Festplatte formatieren, damit dies behoben wurde, aber ich habe mein Betriebssystem als Tag festgelegt und in meiner Frage die Version von Vim und OS X angegeben.
Addison

Antworten:

1

Lesen Sie das Skript, das wir haben:

" get NL separated string with file names
let s:n = globpath(&runtimepath, "colors/*.vim")

let s:names = sort(map(split(s:n, "\n"), 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)

" define all the submenu entries
let s:idx = 100
for s:name in s:names
  exe "an 20.450." . s:idx . ' &Edit.C&olor\ Scheme.' . s:name . " :colors " . s:name . "<CR>"
  let s:idx = s:idx + 10
endfor
unlet s:name s:names s:n s:idx

Wenn Sie sich das ansehen s:names, wird es s:nwiederholt. Dies ist die Liste aller vim-Dateien, die in den Farbverzeichnissen auf dem Laufzeitpfad enthalten sind. Mein erster Schritt beim Debuggen meines Problems war, alle meine benutzerdefinierten Farbdateien aus dem Weg zu räumen und vim ... Bingo zu öffnen, keine Fehlermeldung. Jetzt musste nur noch herausgefunden werden, welche Farbdatei den Fehler verursachte.

Interessanterweise hatte ich eine Farbdatei, die blackboard.vim.vimin meinen Farbdateien genannt wurde. Ich vermutete, dass dies die störende Datei war, und siehe da, es war. Das Entfernen der Datei hat das Problem behoben.

Wille
quelle