Erro "Parte do caminho do item de menu não é submenu" na configuração do vim

2

Recentemente, comecei a receber esse erro quando abri o vim e não faço ideia do porquê.

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

Nunca editei esse arquivo e realmente não entendo o que há de errado. Aqui está a parte que está causando o erro:

 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

Alguém sabe como consertar isso? Obrigado! Entre, eu estou no OS X 10.8 com Vim 7.3

Addison
fonte
Gostaria de salvar as coisas de que você mais gosta ( .vimrc, etc.) e remover / reinstalar o vim. Não é uma solução de idéias, mas parece que essa será a rota mais simples. Se você está aberto a sugestões de editores, dê uma olhada no Sublime Text . Eu costumava usar vimaté me referir a ele. Os comandos de teclado e recursos são fantásticos (e você pode fazer plugins usando Python que é como ele deve ser, simples e rápido, em vez de. vimEspecífica ...)
nerdwaller
Uso o Sublime Text 3 na maioria das vezes, mas uso o vim para alterações rápidas quando já estou na linha de comando ou para editar arquivos ocultos.
Addison
Adicionar informações como seu sistema operacional, versão vim etc. à sua pergunta pode ajudar. Por favor, escolha uma etiqueta para o seu sistema operacional.
slhck
Como tive que formatar meu disco rígido, isso foi corrigido como resultado, mas coloquei meu sistema operacional como uma tag e especifiquei a versão do Vim e do OS X na minha pergunta.
Addison

Respostas:

1

Lendo o script que temos:

" 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

Agora, se você observar s:names, está repetindo s:n, que é a lista de todos os arquivos vim contidos nos diretórios de cores no caminho de execução. Meu primeiro passo para depurar meu problema foi mover todos os meus arquivos de cores personalizadas para fora do caminho e abrir o vim ... bingo, nenhuma mensagem de erro. Agora, era apenas um caso de descobrir qual arquivo de cores estava causando o erro.

Curiosamente, eu tinha um arquivo de cores chamado blackboard.vim.vimem meus arquivos de cores, imaginei que fosse o arquivo ofensivo e eis que era. A remoção do arquivo corrigiu o problema.

Vai
fonte