Vim игнорирует ftplugin?

816
Jack Wilsdon

Я создал файл /usr/share/vim/vim73/ftplugin/rb.vimсо следующим содержанием;

set ts=2 " Set tab size to 2 set bs=2 " Suggested for ruby set sw=2 " Suggested for ruby set et " Convert tabs into spaces set fdm=marker " Enable code block folding 

Содержание моего /etc/vim/vimrcследующее;

syntax on " Enable syntax highlighting set number " Enable line numbers set ts=4 " Set tab width to 4 spaces set nocompatible " Disable compatibility mode (prevent ABCD key bugs) colorscheme kolor " Set the color scheme  filetype plugin on " Enable filetype plugins (from http://bit.ly/GVfznk) 

Я добавил filetype plugin onстроку из этого вопроса суперпользователя, но, похоже, это ничего не меняет. Я могу подтвердить загрузку /etc/vim/vimrcфайла, так как при наборе текста возвращается :filetypeстрока filetype detection:ON plugin:ON indent:OFF, показывающая, что она сработала.

Запуск :scriptnamesвозвращает следующее;

 1: /usr/share/vim/vimrc 2: /usr/share/vim/vim73/syntax/syntax.vim 3: /usr/share/vim/vim73/syntax/synload.vim 4: /usr/share/vim/vim73/syntax/syncolor.vim 5: /usr/share/vim/vim73/filetype.vim 6: /usr/share/vim/vim73/colors/kolor.vim 7: /usr/share/vim/vim73/ftplugin.vim 8: /usr/share/vim/vim73/plugin/getscriptPlugin.vim 9: /usr/share/vim/vim73/plugin/gzip.vim 10: /usr/share/vim/vim73/plugin/matchparen.vim 11: /usr/share/vim/vim73/plugin/netrwPlugin.vim 12: /usr/share/vim/vim73/plugin/rrhelper.vim 13: /usr/share/vim/vim73/plugin/spellfile.vim 14: /usr/share/vim/vim73/plugin/tarPlugin.vim 15: /usr/share/vim/vim73/plugin/tohtml.vim 16: /usr/share/vim/vim73/plugin/vimballPlugin.vim 17: /usr/share/vim/vim73/plugin/zipPlugin.vim 

Проблема в том, что когда я делаю следующее, я получаю полноразмерные вкладки и не сворачиваю код;

touch example.rb vi example.rb 
1

1 ответ на вопрос

6
romainl

NEVER do anything (add/remove/change) in /usr/share/vim/ or /etc/vim/. NEVER.

Those are runtime files:

  • they are needed by Vim and modifying them puts Vim into an unstable state,
  • they can be updated at the next upgrade, wiping your customization or parts of it out,
  • they are available machine-wide, user-specific settings belong to the user's $HOME.

ALWAYS do your customization in the ~/.vim/ directory and the ~/.vimrc file.

  • /usr/share/vim/vim73/ftplugin/rb.vim should be ~/.vim/after/ftplugin/ruby.vim.

  • In that file, you should use setlocal instead of set because filetype-specific settings should be as precise and local as possible.

  • What you have put in /etc/vim/vimrc should be in ~/.vimrc: you should remove those lines and return /etc/vim/vimrc back to its original state.

  • Whatever else you have done in /etc/vim/ or /usr/share/vim, revert it as soon as possible.

Кроме того, было бы неплохо держать ваш `~ / .vimrc` и каталог` .vim` под контролем версий. Таким образом, вы можете вернуться к предыдущей версии, если вам действительно удастся все испортить. Roland Smith 10 лет назад 0
Первоначально я поместил свои файлы в `/ etc / vim /`, так как я хотел, чтобы конфигурации были глобальными. Я предполагаю, что лучшим способом было бы создать его в моем домашнем каталоге, а псевдоним root `~ / .vim /` к нему? Jack Wilsdon 10 лет назад 0
Нет. Лучший способ - никогда ничего не делать с правами root, если это не является строго необходимым. И если вам * действительно * нужно серьезно редактировать с повышенными привилегиями (зачем кому-то это нужно?), Вы должны использовать `sudoedit`. romainl 10 лет назад 1