Ошибки запуска 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, удалить загруженные файлы и повторить попытку.