Ошибки запуска Vim (недопустимое выражение) Debian

У меня возникают проблемы с настройкой Vim. Во-первых, у меня возникает куча ошибок при запуске Vim, я получаю следующие ошибки:

Error detected while processing /home/lee/.vimrc:
line    5:
E492: Not an editor command: generate helptags for everything in 'runtimepath'
Error detected while processing /home/lee/.vim/plugin/fuf.vim:
line   13:
***** L9 library must be installed! *****
Error detected while processing /home/lee/.vim/plugin/refactor.vim:
line   45:
E492: Not an editor command: ^M
line   53:
E492: Not an editor command: ^M
line   55:
E15: Invalid expression: ["auto", "const", "double", "float", "int", "short", "struct", "unsigned", "break", "continue", "else", "for", "long", "signed", "switch", "void", "case", "default", "enum", "goto", "register", "sizeof", "typedef", "volatile", "char", "do", "extern", "if", "return", "static", "union", "while", "asm", "dynamic_cast", "namespace", "reinterpret_cast", "try", "bool", "explicit", "new", "static_cast", "typeid", "catch", "false", "operator", "template", "typename", "class", "friend", "private", "this", "using", "const_cast", "inline", "public", "throw", "virtual", "delete", "mutable", "protected", "true", "wchar_t", "size_t"]^M
line   56:
E492: Not an editor command: ^M
line   58:
E15: Invalid expression: '\<\h\w*\>'^M
line   59:
E15: Invalid expression: '\s*[*&]*\s*'^M
line   60:
E121: Undefined variable: s:IdentifierPattern
E15: Invalid expression: s:IdentifierPattern . s:TypePostfixPattern^M
line   62:
E121: Undefined variable: s:TypeElementPattern
E15: Invalid expression: '\%(' . s:TypeElementPattern . '\%(' . s:TemplateParameterPattern . s:TypePostfixPattern . '\)*' . s:TypePostfixPattern . '\)\+'^M
line   64:
E15: Invalid expression: '\%(\s\+\n*\s*\|\n\+\|\s*\n*\s\+\)'^M
line   65:
E121: Undefined variable: s:TypeIdentifierPattern
E15: Invalid expression: s:TypeIdentifierPattern . s:MissableSeperatorPattern . s:IdentifierPattern . '\%\(\[\d*\]\)*'^M
line   66:
E121: Undefined variable: s:TypeIdentifierPattern
E15: Invalid expression: '^\s*\%(' . s:TypeIdentifierPattern . s:SeperatorPattern. '\|' . s:IdentifierPattern . '::\)\+' ^M
line   67:
E121: Undefined variable: s:VariableDeclarationPattern
E15: Invalid expression: '(' .  s:MissableSeperatorPattern . '\%(' . s:VariableDeclarationPattern . '\%(\s*,' . s:MissableSeperatorPattern . s:VariableDeclarationPattern . '\)*\)*\s*)'^M
line   68:
E121: Undefined variable: s:FunctionPerfixPattern
E15: Invalid expression: s:FunctionPerfixPattern . s:MissableSeperatorPattern . s:IdentifierPattern . s:MissableSeperatorPattern . s:ParameterListPattern . '[^(){;]*'^M
line   69:
E121: Undefined variable: s:FunctionPattern
E15: Invalid expression: s:FunctionPattern . s:MissableSeperatorPattern . '\%(;\)\@='^M
line   70:
E121: Undefined variable: s:FunctionPattern
E15: Invalid expression: s:FunctionPattern . s:MissableSeperatorPattern . '\%({\)\@='^M
line   71:
E492: Not an editor command: ^M
line   72:
E488: Trailing characters
line  114:
E492: Not an editor command: ^M
line  115:
E488: Trailing characters
line  182:
E492: Not an editor command: ^M
line  183:
E488: Trailing characters
line  220:
E492: Not an editor command: ^M
line  221:
E488: Trailing characters
line  240:
E492: Not an editor command: ^M
line  241:
E488: Trailing characters
line  285:
E492: Not an editor command: ^M
line  286:
E488: Trailing characters
line  359:
E492: Not an editor command: ^M
line  360:
E488: Trailing characters
line  372:
E492: Not an editor command: ^M
line  374:
E488: Trailing characters
line  411:
E492: Not an editor command: ^M
line  412:
E488: Trailing characters
line  424:
E492: Not an editor command: ^M
line  425:
E488: Trailing characters
line  432:
E492: Not an editor command: ^M
line  433:
E488: Trailing characters
Press ENTER or type command to continue

Кроме того, когда я пытаюсь запустить :helptags ~/.vim/doc, он не загружается вообще. Он просто показывает пустой экран редактора.

Буду признателен за вашу помощь, я искал в Интернете решения, но я не смог это исправить. Я действительно хочу начать использовать Vim. Спасибо!

EDIT: я добавил мой .vimrc

set nocompatible
call pathogen#infect()
execute pathogen#infect()
call pathogen#helptags()
generate helptags for everything in 'runtimepath'
syntax on
filetype plugin indent on

Ответ 1

О, черт возьми! Я вижу несколько вопросов:

E492: Not an editor command: generate helptags for everything in 'runtimepath'

У вас должна быть строка, начинающаяся с generate helptags ... где-нибудь (ваш ~/.vimrc?); это должен быть комментарий: Подготовьте " к строке.


***** L9 library must be installed! *****

Плагин FuzzyFinder требует другого плагина; вы можете получить его в библиотеке L9 - Vim- script.


Error detected while processing /home/lee/.vim/plugin/refactor.vim:
line   45:
E492: Not an editor command: ^M

Это вызвано файлами Vimscript, которые имеют окончания строки CR-LF в стиле Windows при использовании в Linux. Откройте соответствующий файл в Vim и преобразуйте их в конец Unix-стиля через

:w ++ff=unix

Надеюсь, вы начнете видеть свет после них. Ссылка на вашу полную конфигурацию Vim была бы полезной для дальнейшей диагностики этого. Если вы новичок в Vim, рекомендуется начинать с lean .vimrc и постепенно добавлять плагины, когда вы становитесь более опытными и определяете потребности.

Ответ 2

Для части E492: Not an editor command: ^M у меня действительно была такая же проблема, но приведенные выше ответы не помогли. Поэтому я нашел это, и он работает для меня:

Для Cygwin (который я использую): установите dos2unix из установщика пакета

Для Ubuntu/Debian:

sudo apt-get install tofrodos; sudo ln -s /usr/bin/fromdos /usr/bin/dos2unix

Для CentOS, Fedora,...:

sudo yum install dos2unix

Затем используйте его следующим образом:

dos2unix ~/.vimrc

Это должно очистить все CRLF от файла

Ответ 3

Error detected while processing /home/lee/.vimrc:
line    5:
E492: Not an editor command: generate helptags for everything in 'runtimepath'

Эта строка не комментируется

Error detected while processing /home/lee/.vim/plugin/fuf.vim:
line   13:
***** L9 library must be installed! *****

FuzzyFinder нуждается в библиотеке L9, но он ее не нашел.

Error detected while processing /home/lee/.vim/plugin/refactor.vim:
line   45:
E492: Not an editor command: ^M

В Linux Vim не любит окончания строки Windows, и, похоже, у них их много.

line   55:
E15: Invalid expression: ["auto", "const", "double", "float", "int", "short", "struct", "unsigned", "break", "continue", "else", "for", "long", "signed", "switch", "void", "case", "default", "enum", "goto", "register", "sizeof", "typedef", "volatile", "char", "do", "extern", "if", "return", "static", "union", "while", "asm", "dynamic_cast", "namespace", "reinterpret_cast", "try", "bool", "explicit", "new", "static_cast", "typeid", "catch", "false", "operator", "template", "typename", "class", "friend", "private", "this", "using", "const_cast", "inline", "public", "throw", "virtual", "delete", "mutable", "protected", "true", "wchar_t", "size_t"]^M

То же, что и выше, конечная ^M является проблемой.

line   58:
E15: Invalid expression: '\<\h\w*\>'^M

И так далее...

Эта команда

:%s/<C-v><CR>//

должно уменьшить количество ошибок. <C-v><CR> означает "нажмите Ctrl + V, затем нажмите клавишу Enter".

Пожалуйста, покажите нам свой ~/.vimrc, чтобы мы могли помочь вам.

Ответ 4

простой способ без использования каких-либо инструментов:

  • больше .vimrС#prepare для скопирования
  • vi.vimrС#start с пустым .vimrc
  • скопируйте исходный .vimrc содержимое в пустое .vimrc
  • сделано

Ответ 5

Я вижу эти типы ошибок:

Error detected while processing ~/.vim/plugin/<some_plugin_giving_you_error>:
line   45:
E492: Not an editor command: ^M

когда .gitconfig имеет соответствующие ОС Windows [core], но используется в ящике Linux. Затем, когда плагин загружается менеджером плагина Vim или вручную, эти ошибки начинают отображаться.

Поэтому я бы предложил проверить ваши настройки Git, удалить загруженные файлы и повторить попытку.