Отключить плагины vim для больших файлов

1087
krimson

У меня есть пользовательская конфигурация Vim, которую я собираю. Есть ряд классных плагинов и функций, которые помогают в разработке PHP. Однако, когда я открываю большой файл (несколько тысяч строк), эти функции заставляют vim сканировать.

В настоящее время я переименовываю .vimrc в .vimrc, затем перезапускаю vim при работе с этими большими файлами, чтобы у меня была конфигурация по умолчанию. То, что я хотел бы сделать, это переключаться между vimrc, не выходя из vim. Думаешь, это возможно? Это похоже на получение .vimrc после изменений, но мне нужно найти другой файл, чтобы переопределить мою конфигурацию по умолчанию.

1
Вы должны пересмотреть свою конфигурацию, потому что две или три тысячи строк * не * большие. romainl 9 лет назад 2
Он запускает PHP Code Sniffer при сохранении, и я редактирую неаккуратный файл, поэтому почти в каждой строке есть какое-то предупреждение. Вот что тормозит это. krimson 9 лет назад 0

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

3
Christian Brabandt

Start vim with the --noplugin argument. You could possibly alias this. (You could also check e.g. for an environment variable in your .vimrc and if present set the loadplugins options). There are many ways, how one could script it. See also the faq here and here (Note the LargeFile plugin).

Итак, как бы вы лично занялись написанием сценариев? krimson 9 лет назад 0
Я бы наверное пошел с переменной окружения Christian Brabandt 9 лет назад 0
1
cYrus

I guess you can always start vim with the -u option:

vim -u NONE 

From man vim:

-u Use the commands in the file for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name "NONE". See ":help initialization" within vim for more details.

Есть ли способ сделать это в пределах одного vimrc, чтобы избежать выхода и возврата в vimrc? Как пользовательская функция, которая переключает какой .vimrc используется? krimson 9 лет назад 0
Это выходит за рамки моего опыта работы с Vim, но я уверен, что вы можете написать свою собственную функцию, которая отключает «медленные» плагины и вызывать их в любое время, привязывать их к нажатию клавиши или даже автоматически запускать ее для определенных размеров / расширений файлов. Этот ответ - просто лучшая альтернатива переименованию файла `.vimrc` каждый раз. cYrus 9 лет назад 0
0
Ben

The comments on your question reveal that your problem is a custom command that runs on every file save.

So a solution is to edit your custom command to check some variable. If that variable does not exist or has a "false" value, run your command. Otherwise, skip running the command. Then making the write happen quickly is as simple as setting that variable to true. You could do this in a command to make it easier. For example,

... autocmd BufWritePost * if !exists('b:my_checker_skip_check') || !b:my_checker_skip_check | call DoMyCheck() | endif ... command! MyCheckDisable let b:my_checker_skip_check = 1 command! MyCheckEnable unlet b:my_checker_skip_check 
Потрясающие. Теперь мне просто нужно отследить, где находится код для запуска этой проверки. krimson 9 лет назад 0