1

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

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

3 ответа3

3

Запустите vim с аргументом --noplugin . Вы могли бы, возможно, псевдоним этого. (Вы также можете проверить, например, переменную среды в вашем .vimrc и, если она есть, установить параметры loadplugins). Есть много способов, как можно было написать это. Смотрите также часто задаваемые вопросы здесь и здесь (обратите внимание на плагин LargeFile).

1

Я думаю, вы всегда можете запустить vim с опцией -u :

vim -u NONE

От man vim:

-u {vimrc} Использовать команды в файле {vimrc} для инициализации. Все остальные инициализации пропускаются. Используйте это, чтобы редактировать особый вид файлов. Его также можно использовать для пропуска всех инициализаций, указав имя "НЕТ". Смотрите ": инициализация справки" в vim для более подробной информации.

0

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

Поэтому решение состоит в том, чтобы отредактировать вашу пользовательскую команду, чтобы проверить некоторую переменную. Если эта переменная не существует или имеет значение "false", выполните команду. В противном случае пропустите команду. Тогда быстро выполнить запись так же просто, как установить для этой переменной значение true. Вы можете сделать это в команде, чтобы сделать это проще. Например,

...
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

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