git игнорировать Vim временные файлы
Как правильно заставить git игнорировать временные файлы, созданные vim во всех каталогах (глобально по всей системе или локально для одного проекта)?
10 ответов
Vim временные файлы заканчиваются на~, Поэтому вы можете добавить в файл .gitignore
строку
*~
Vim также создает файлы подкачки с расширениями swp и swo. для удаления этих строк:
*.swp
*.swo
это будет игнорировать все временные файлы vim в одном проекте
если вы хотите сделать это глобально, можно создать .файл gitignore в вашем доме (вы можете дать ему другое имя или местоположение) и использовать следующее команда:
git config --global core.excludesfile ~/.gitignore
тогда вам просто нужно добавить файлы, которые вы хотите проигнорировать в файл
кроме того, вы можете настроить vim для сохранения файлов подкачки в отдельном месте, например, добавляя строки, похожие на следующие к вашему :
set backupdir=$TEMP//
set directory=$TEMP//
посмотреть этот ВИМ совет для получения дополнительной информации.
это то, что должно выполняться только для каждого пользователя, а не для каждого репозитория. Если Джо использует emacs, он захочет, чтобы файлы резервных копий emacs игнорировались, но Бетти (которая использует vi) захочет, чтобы файлы резервных копий vi игнорировались (во многих случаях они похожи, но существует около 24,893 общих редакторов, и довольно смешно пытаться игнорировать все различные расширения резервных копий.)
другими словами, Не ставьте ничего в .gitignore
или core.excludes
на $GIT_DIR/config
. Поставить информация в $HOME/.gitconfig
вместо этого (как предлагает nunopolonia с --global
.) Отмечают, что "глобальный" означает для каждого пользователя, а не системы.
если вы хотите конфигурацию по всей системе для всех пользователей (чего вы не делаете), вам понадобится другой механизм. (Возможно, с настройкой шаблонов до инициализации репозитория.)
Я бы также рекомендовал подумать, чтобы игнорировать файлы, такие как:
.*.swp
.*.swo
поскольку у вас могут быть файлы, заканчивающиеся на .swp
закройте vim перед "git commit".
сделать vim
используйте другие папки для резервных копий файлов, (/tmp
например):
set bdir-=.
set bdir+=/tmp
чтобы vim перестал использовать текущую папку для .swp файлы:
set dir-=.
set dir+=/tmp
использовать -=, +=
было бы вообще хорошо, потому что vim имеет другие значения по умолчанию для bdir, dir, мы не хотим, чтобы очистить все. Регистрация ВИМ помочь подробнее о bdir, dir:
:h bdir
:h dir
Я обнаружил, что это будет иметь git игнорировать временные файлы, созданные vim:
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
*.un~
Session.vim
.netrwhist
*~
его также можно просмотреть здесь.
здесь является фактическим кодом VIM, который генерирует расширения файлов подкачки:
/*
* Change the ".swp" extension to find another file that can be used.
* First decrement the last char: ".swo", ".swn", etc.
* If that still isn't enough decrement the last but one char: ".svz"
* Can happen when editing many "No Name" buffers.
*/
if (fname[n - 1] == 'a') /* ".s?a" */
{
if (fname[n - 2] == 'a') /* ".saa": tried enough, give up */
{
EMSG(_("E326: Too many swap files found"));
vim_free(fname);
fname = NULL;
break;
}
--fname[n - 2]; /* ".svz", ".suz", etc. */
fname[n - 1] = 'z' + 1;
}
--fname[n - 1]; /* ".swo", ".swn", etc. */
это создаст файлы подкачки формата:
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-v][a-z]
[._]sw[a-p]
что в значительной степени то, что включено в собственный файл GitHub gitignore для VIM.
Как уже правильно сказали .gitignore также будет игнорировать .svg файлы изображений и .SWF-файлом файлы adobe flash.
# VIM: Temperory files
*~
# VIM: Swap-files
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
# VIM: Commands :cs, :ctags
tags
cscope.*
# VIM session
Session.vim
# VIM: netrw.vim: Network oriented reading, writing, browsing (eg: ftp scp)
.netrwhist
имя файла подкачки обычно совпадает с именем файла, который вы редактируете, с расширением ".swp".
- в Unix, a '.'добавляется для замены имен файлов в том же каталоге, что и отредактированный файл. Это позволяет избежать того, что файл подкачки отображается в список каталогов.
- на машинах MS-DOS и когда опция "shortname" включена, любая ".'в исходном файле имя заменяется на'_'.
- если этот файл уже существует (например, когда вы восстанавливаетесь после сбоя), выдается предупреждение и используется другое расширение ".меча.", ".swn " и др.
- существующий файл не будет перезаписан.
- файл подкачки удаляется, как только Vim прекращает редактирование файла.
замена '.'with' _ ' делается, чтобы избежать проблем с MS-DOS совместимые файловые системы (например, crossdos, multidos).
конечно,
просто нужно создать ".gitignore" в домашнем каталоге вашего проекта и должны содержать
*.swp
вот это
в одну команду
project-home-directory$ echo '*.swp' >> .gitignore
Если вы используете управление версиями. временные файлы vim совершенно бесполезны.
Поэтому вы можете настроить vim не для их создания.
просто отредактировать ~/.vimrc и добавьте эти строки:
set nobackup
set noswapfile