После выполнения различных предложенных исправлений он был окончательно решен путем обновления расширения NuGet Package Manager в Visual Studio.
Это делается в разделе «Инструменты -> Расширения и обновления», затем в диалоговом окне «Расширения и обновления» -> Галерея Visual Studio. Может потребоваться перезапуск Visual Studio.
Я сторонник плагина . По нескольким причинам:
BTW, решение sth может использоваться для источника одного файла конфигурации. Это очень похоже на подход плагина, за исключением того, что .vimrc должен быть паразитирован с не глобальными параметрами, и он не поддерживает легко несколько / общих файлов конфигурации.
Этот вопрос старый, но он кажется довольно естественным и постоянным.
Мое решение довольно простое. Я помещаю файл .vimrc
в корневую директорию моих проектов. Первая строка файла .vimrc
обычно содержит ~/.vimrc
, а затем добавляет конкретную конфигурацию, которую я хочу. Я псевдоним tvim='vim -u .vimrc'
и использую tvim
в своих личных каталогах проектов. «tvim» для «trusted vim», что означает, что если я запустил его в каталоге с файлом .vimrc
, и что-то пойдет не так, у меня нет никого, кроме вины, но я сам, так как я прямо сказал, что доверяю ему. Кроме того, я сохраняю группу из этих хранилищ, так что иногда я могу просто соединить ссылку, которую я хочу, для конкретного проекта.
Я согласен с подходом плагина по соображениям безопасности.
Существует очень хороший плагин, о котором еще не упоминалось. Он позволяет вам использовать .lvimrc
в ваших каталогах проекта.
Попробуйте «localvimrc» out:
Фактически поддерживается размещение .vimrc в рабочем каталоге, только по умолчанию отключено. Подробнее см. :h 'exrc'
и :h startup
, установка 'exrc'
позволит читать .vimrc
из текущего каталога.
При использовании этого также рекомендуется :set secure
. Это блокирует команды :autocmd
, оболочки и записи для .vimrc
в текущем каталоге.
Еще одна вещь, на которую стоит обратить внимание - это настроить сеанс (:h session
) со стандартным представлением и настройки для проекта.
Все, что сказал, я, вероятно, поеду с параметром плагина, подробно описанным самим Люком Хермитом.
Я настоятельно рекомендую не использовать set exrc
Даже с set secure
, под * nix, vim все равно будет запускать автокоманды, shell и т. д., если вы являетесь владельцем файла. Поэтому, если вы решили отредактировать файл в этом tarball, я отправил вас с .vimrc
, содержащим:
autocmd BufEnter * :silent! !echo rm -rf ~/
, вы, вероятно, будете менее забавны, чем я.
Предполагая, что люди не добавляют файлы каждые несколько дней, вы, вероятно, можете добавить модель в верхней части каждого файла. Фактически, если ваша система управления версиями позволяет это, вы, вероятно, можете применить правило, в котором говорится, что каждый файл должен иметь моделью, когда он установлен.
Я посмотрел на плагины, которые существовали и на самом деле не представляли никого из них, поэтому я написал простую функцию, которая копирует на vim-fugitive . Преимущество этого в том, что он знает, что корень проекта всегда является корнем репозитория, и, кроме того, я могу хэш-файл сохранить таблицу доверия. Просто поставьте следующее в файле .vimrc
.
function LoadRepoVimrc()
let l:path = fugitive#repo().tree('.vimrc')
if filereadable(l:path)
let l:sha1 = fugitive#repo().git_chomp('hash-object',l:path)
if !exists('g:SAFE_VIMRC') | let g:SAFE_VIMRC = {} | endif
if has_key(g:SAFE_VIMRC,l:path) && g:SAFE_VIMRC[l:path] ==? l:sha1
execute 'source '.fnameescape(l:path)
elseif confirm("Trust ".l:path."?", "&Yes\n&No",2) == 1
let g:SAFE_VIMRC[l:path] = l:sha1
execute 'source '.fnameescape(l:path)
else
execute 'sandbox source '.fnameescape(l:path)
endif
endif
endfunction
autocmd User FugitiveBoot call LoadRepoVimrc()
set viminfo ^= !
Если параметр !
установлен в настройке viminfo
, словарь SAFE_VIMRC
будет сохранен между прогонами (обратите внимание на ^
, чтобы добавить опцию, чтобы она не испортила опцию n
).
Вы можете поместить что-то подобное в $VIM/vimrc
autocmd BufNewFile,BufRead /path/to/files/* set nowrap tabstop=4 shiftwidth=4
Попробуйте vim-localrc
~/
|- .local.vimrc (1)
`- project/
|- .local.vimrc (2)
`- src/
|- .local.vimrc (3)
`- main.c
https://github.com/thinca/vim-localrc/blob/master/doc/localrc.txt
Чтобы свести к минимуму риски безопасности с ЛЮБОЙ функцией «автозапуска» для НИЧЕГО в эти дни, могу ли я посоветовать вам использовать существующие функции vim вместо плагинов (переносимый багаж)?
Например.
Файл vimrc моей локальной папки называется «_gvimrc» (специально). Это уменьшает надежду на то, что такие люди, как Фан, заразят себя за свой счет. : -)
В моем файле $ VIM / .vimrc я вставил:
if filereadable("_gvimrc")
source _gvimrc
endif
в конец.
Я использую "filereadable ()" над "fileexists ()", поскольку у более поздней версии есть некоторая причудливость, когда она подвергается пыткам с одновременным открытием нескольких (10+) файлов (не уверен, почему).
Конечно, вы можете дать свое собственное уникальное имя файла, чтобы запутать потенциал создателей проблем. Например, «_mygvimrc», «_gobbledygook» и т. Д. Вам просто нужно установить одно стандартизованное имя и указать его соответственно в $ VIM / .vimrc. Опираясь на внутренности vi / vim, это исключает проблемы с переносимостью. НО, НЕ НАЙТИ его .vimrc (или _vimrc), чтобы предотвратить рекурсивный поиск в случае, если вы редактируете файл VIM / .vimrc с помощью vim позже.
Используется с Windoze 98SE через Windork XP Pro, а теперь Windorkier 7 (уже 5+ лет). Я пометю список .txt-файлов в Проводнике, а затем «Edit with multiple Vim», что приведет к одновременному открытию нескольких окон vim. Для моей работы я делаю это несколько раз в день, ежедневно. Все файлы обработаны тем, что я установил в своем локальном _gvimrc.