2015-06-12 4 views
1

У меня есть хороший .vimrc-файл с моими предпочтительными настройками. Одним из параметров является tabstop = 4. Но когда я нахожусь на сервере, на котором я часто работаю, параметр tabstop, который я применяю в моем ~/.vimrc, сбрасывается скриптом, который загружается позже (/usr/share/vim/vim74/ftplugin/python.vim). Эти скрипты принадлежат root, и я не могу их изменить. Я тоже этого не хочу. Я просто хочу последнее слово на любой заданной настройке.Vim: последнее слово в настройках пользователя?

Где или как я могу получить последнее слово о настройках vim?


, если я начну Vim и делать :scriptnames, я получаю этот выход:

1: /usr/share/vim/vimrc 
2: /usr/share/vim/vim74/debian.vim 
3: /usr/share/vim/vim74/syntax/syntax.vim 
4: /usr/share/vim/vim74/syntax/synload.vim 
5: /usr/share/vim/vim74/syntax/syncolor.vim 
6: /usr/share/vim/vim74/filetype.vim 
7: ~/.vimrc 
8: /usr/share/vim/vim74/indent.vim 
9: /usr/share/vim/vim74/ftplugin.vim 
10: /usr/share/vim/vim74/syntax/nosyntax.vim 
11: /usr/share/vim/vim74/plugin/getscriptPlugin.vim 
12: /usr/share/vim/vim74/plugin/gzip.vim 
13: /usr/share/vim/vim74/plugin/matchparen.vim 
14: /usr/share/vim/vim74/plugin/netrwPlugin.vim 
15: /usr/share/vim/vim74/plugin/rrhelper.vim 
16: /usr/share/vim/vim74/plugin/spellfile.vim 
17: /usr/share/vim/vim74/plugin/tarPlugin.vim 
18: /usr/share/vim/vim74/plugin/tohtml.vim 
19: /usr/share/vim/vim74/plugin/vimballPlugin.vim 
20: /usr/share/vim/vim74/plugin/zipPlugin.vim 
21: /usr/share/vim/vim74/indent/python.vim 
22: /usr/share/vim/vim74/ftplugin/python.vim 
23: /usr/share/vim/vim74/syntax/python.vim 
24: /usr/share/vim/vim74/scripts.vim 
25: /usr/share/vim/vim74/indent/vim.vim 
26: /usr/share/vim/vim74/ftplugin/vim.vim 
27: /usr/share/vim/vim74/syntax/vim.vim 

EDIT
Это сценарий /usr/share/vim/vim74/ftplugin/python.vim который затирания мои параметры TabStop. Если я :verbose set tabstop я получаю:

tabstop=8 
    Last set from /usr/share/vim/vim74/ftplugin/python.vim 
+0

На данный момент я поставил 'alias vim = 'vim -S ~/.vimrc'' в свой.bash_profile, чтобы взломать его, но я бы предпочел бы найти нужное место *, чтобы поставить предпочтения на уровне пользователя, которые гарантируют, что они всегда будут прочитаны последними. –

+3

Что вы на самом деле пытаетесь сделать? Но 'after-directory' - это то, что вы ищете. Ни один из файлов, загруженных после вашего vimrc, не должен конфликтовать с тем, что находится в вашем vimrc. (Или, по крайней мере, что перечислено) – FDinoff

+0

Я пытаюсь установить 'tabstop = 4'. Сценарий номер 22 делает clobber настройки табуляции. См. Мое редактирование. –

ответ

2

--- редактировать ---

Поместите setlocal tabstop=4 в ~/.vim/after/ftplugin/python.vimили добавить эти строки в ~/.vimrc:

augroup Python 
    autocmd! 
    autocmd Filetype python setlocal tabstop=4 
augroup END 

~/.vimrcявляется нужное место для размещения больше всего ваших настроек. В таких редких ситуациях, когда плагины переопределяют ваши настройки, у вас есть две возможные стратегии: автокоманды и после.

Использование после справочник несколько «безопаснее», но имеет недостаток в том, чтобы сделать вашу установку немного сложнее. Это моя рекомендуемая стратегия. См. :help after-directory.

Использование автокоманд более «хакерское», но позволяет хранить все в одном месте. См. :help autocommand.

--- EndEdit ---

Вы должны использовать -u флаг источник не-по умолчанию vimrc:

$ vim -u /path/to/my/fancy/vimrc 

Но вы не должны ничего делать, если ваш vimrc находится в корне вашего каталога $HOME.

Vim найдет его и отправит его без вмешательства пользователя, как описано в :help startup, :help starting.txt и, более конкретно, в :help vimrc.

В дополнение ко всему этому чтению, я предлагаю закладок this document для справок в будущем.

+0

Vim находит мой файл, но скрипты, загруженные после этого, закрывают мою настройку 'tabstop = 4'. –

+0

Вздох ... еще одна проблема XY. См. Мое редактирование. – romainl

+0

Я не думаю, что вы понимаете мой вопрос. Где я могу поместить настройку, чтобы ни один другой скрипт не сгустил ее ни при каких обстоятельствах? –