2

Я обновил свой Ubuntu до 11.04, и мой gvim все испортил. Я в основном начинаю с нуля и мне нужна помощь. По рекомендации я начинаю перемещать все, что связано с vim (плагины и vimrc), в /usr/share/vim/vimfiles

after
autoload
colors
doc
ftpplugin
gvimrc (file)
nerdtree
plugin
snippets
syntax
vimrc (file)
vimrc.dpkg-old (file)
vimrc.tiny (file)

У меня также есть файл .vimrc в /home/laptop/.vimrc Этот файл на самом деле содержит настройки / сопоставления, которые я добавил

:set runtimepath выборки времени выполнения:

runtimepath=~/.vim, /usr/share/vim/vimfiles/vimfiles, 
/usr/share/vim/vimfiles, /usr/share/vim/vimfiles/vimfiles/after,
~/.vim/after

У меня нет папки, подобной указанной выше /usr/share/vim/vimfiles/vimfiles

Вопросы: почему есть два vimrc? я должен поменять местами содержимое /usr/share/vim/vimfiles/vimrc с /home/laptop/.vimrc?

ошибки

Error detected while processing /home/laptop/.vimrc
line 6
E484: Can't open file /usr/share/vim/syntax/syntax.vim

Строка 6:

syntax on

Синтаксис my /usr/share/vim/vimfiles/syntax изначально содержал только snippet.vim , однако в папке /usr/share/vim/vim73/syntax содержалось много других файлов. например, gdb.vim, jsp.vim, groovy.vim, libao.vim...etc (more than 60 files)

поэтому я скопировал все эти файлы в /usr/share/vim/vimfiles/syntax но все равно ошибка есть

как я могу вернуть подсветку синтаксиса?

Обновить

  • имел vim73_backup и теперь изменил его обратно на /user/share/vim/vim73
  • :set rtp? не имеет vim73 (как показано выше)
  • :echo $VIM $VIMRUNTIME показывает /usr/share/vim/vimfiles /usr/share/vim/vimfiles так как это неправильно .. как мне получить vim73 здесь?

2 ответа2

5
  • Нет причин копировать файлы в /usr /share /vim /vim73 где-либо еще. Ваш gvim уже знает об этих файлах и использует их при необходимости. Вы должны удалить из /usr /share /vim /vimfiles любые файлы, которые вы скопировали туда без изменений из /usr /share /vim /vim73.
  • Vim ищет файлы времени выполнения (например, файлы синтаксиса) в нескольких местах. Эти места указываются в параметре runtimepath (для краткости rtp). Вы можете прочитать больше об этом в

    :help rtp

    Вы можете увидеть текущее значение 'rtp', выполнив

    :set rtp?

    Как вы можете видеть из этого, Vim уже просматривает ~ /.vim, /usr /share /vim /vimfiles и несколько других мест, а также /usr /share /vim /vim73.
  • Вам нужно выяснить, почему вы получаете это сообщение об ошибке в строке 6, потому что команда :syntax on не должна искать синтаксис /syntax.vim в /usr /share /vim /. Это говорит о том, что ваши переменные $ VIM и /или $ VIMRUNTIME перепутаны. Попробуйте выполнить

    :echo $VIM $VIMRUNTIME

    Результат должен быть /usr/share/vim /usr/share/vim/vim73 .
  • В дополнение к тому, что написал Бенизи (как я это писал), вы можете узнать о различных vimrcs в вашей системе, прочитав

    :help vimrc

    Вы также можете увидеть, где ваш vim ищет свои vimrcs, выполнив

    :version

    и вы можете увидеть, какие файлы ваш VIM на самом деле получены путем выполнения

    :scriptnames

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

1

Вы, кажется, неправильно истолковали предложение в вопросе, который вы связали.

Не помещайте ничего в глобально общие каталоги /usr /share /vim /(что-нибудь). Как вы обнаружили слишком поздно, он может быть перезаписан при обновлении Vim.

Вместо этого поместите пользовательские файлы в каталоги в каталоге с именем .vim в вашем домашнем каталоге. Итак, если у вас был собственный файл /usr/share/vim/vim72/syntax/gdb.vim , поместите его в $HOME/.vim/syntax/gdb.vim . Если у вас есть настраиваемая схема цветов , поместите ее в $HOME/.vim/colors/name-of-scheme.vim .

Чтобы прямо ответить на вопрос, который вы задали, ниже приведены цели различных упомянутых вами vimrc :

/home/laptop/:
    .vimrc            - your personal .vimrc (won't be touched on upgrade, etc.)
/usr/share/vim/vimfiles/:
     vimrc            - systemwide `vimrc` (affects all users on the system)
     vimrc.dpkg-old   - possibly your pre-upgrade modified version
     vimrc.tiny       - systemwide `vimrc` for the 'tiny' version of Vim

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