Удаление персонажа из iskeyword в vim - PullRequest
3 голосов
/ 11 февраля 2012

В моем vimrc я включил скрипт (скажем, otherscript.vim, который мне нужно включить по соображениям работы), который говорит:

autocmd FileType php setlocal iskeyword+=$

, и я не хочу такого поведения.Итак, спустя некоторое время в vimrc я говорю:

autocmd FileType php setlocal iskeyword-=$

(я также пытался использовать set вместо setlocal.) Но когда я открываю php-файл, iskeyword по-прежнему содержит символ $в этом.Я использую Vim 7.2.Вывод ': verbose set iskeyword' равен

iskeyword=@,48-57,_,192-255,$
    Last set from /path/to/otherscript.vim

Вывод ': scriptnames':

...
7: /usr/share/vim/vim72/ftplugin.vim
8: /home/yogeshwer/.vimrc
...
74: /path/to/otherscript.vim
... 

Может кто-нибудь помочь мне, как я могу вернуть изменения в 'iskeywordсделано другим сценарием?Огромное спасибо.

1 Ответ

6 голосов
/ 06 февраля 2013

Мне нравится избегать autocmds, когда я могу использовать структуру каталогов after.

$ mkdir -p ~/.vim/after/{ftplugin,syntax,indent}
$ echo 'setlocal iskeyword-=$' >> ~/.vim/after/ftplugin/php.vim

Это устанавливает базовый каталог after в вашей пользовательской папке конфигурации vim.Принимая во внимание, что ~/.vim/ftplugin/$FILETYPE.vim будет использоваться вместо стандартного файла vim $ FILETYPE.vim, файлы в каталоге after будут выполняться после, что позволит вам переопределить или изменить поведение ваших ftplugins, определения синтаксиса и команды отступа.

В качестве дополнительного примера, чтобы показать вам, как они работают, я включу здесь часть моего локального after/syntax/python.vim файла.Мне нравится, когда все «структурные знаки препинания» моего кода выделяются, когда я читаю его, поэтому я делаю это:

syn match pythonParen /[()]/
syn match pythonBrack /[][]/
syn match pythonCurly /[{}]/
hi def link pythonParen Paren
hi def link pythonBrack Brack
hi def link pythonCurly Curly

У меня также есть файл after/indent/php.vim, который должен был исправить некоторые издосадные проблемы с отступами, с которыми я столкнулся при работе с отступами при переключении между <?php ?> областями в файле шаблона, но код беспорядок и вообще никогда не работал, поэтому я не буду воспроизводить его здесь.Я упоминаю это только для того, чтобы дать вам пример того, что можно сделать с помощью вспомогательных хуков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...