2

Я недавно начал получать эту ошибку, когда я открыл Vim, и я понятия не имею, почему.

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

Я никогда не редактировал этот файл и не понимаю, в чем дело. Вот часть, которая вызывает ошибку:

 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

Кто-нибудь знает, как это исправить? Спасибо! Кстати, я на OS X 10.8 с Vim 7.3

1 ответ1

1

Читая скрипт мы имеем:

" 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

Теперь, если вы посмотрите на s:names , он перебирает s:n , который является списком всех файлов vim, содержащихся в цветовых каталогах в runtimepath. Моим первым шагом в отладке моей проблемы было убрать все мои файлы пользовательских цветов и открыть vim ... bingo, без сообщения об ошибке. Теперь это был всего лишь случай выяснения, какой цветовой файл вызывал ошибку.

Интересно, что у меня был цветной файл с именем blackboard.vim.vim в моих цветных файлах, я догадался, что это был файл обидчика, и вот, вот он. Удаление файла устранило проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .