Qual é a maneira correta de fazer o git ignorar arquivos temporários produzidos pelo vim em todos os diretórios (globalmente no sistema ou localmente para um único projeto)?
git
vim
ignore
temporary-files
jrdioko
fonte
fonte
*.sw?
resolve o padrão,.swp
mas também as extensões de arquivo de troca alternativas.swo
..swf
arquivos. Eu desencorajaria isso, especialmente se você estiver criando um aplicativo Flash..
deve impedir isso..tmp.swp
,.tmp.swo
...,.tmp.swa
), vim cria.tmp.svz
. Não tenho paciência para ver o que vem depois.tmp.saa
- talvez.tmp.rzz
? UPDATE: Procurando na fonte (src/memline.c
, funçãofindswapname()
), desiste depois.saa
com um erro: "E326: Foram encontrados muitos arquivos de troca".Respostas:
Os arquivos temporários do Vim terminam com ~ para que você possa adicionar ao arquivo
.gitignore
a linhaO Vim também cria arquivos de troca com as extensões swp e swo. para remover aqueles use as linhas:
Isso ignorará todos os arquivos temporários do vim em um único projeto
Se você quiser fazer isso globalmente, poderá criar um arquivo .gitignore em sua casa (você pode dar outro nome ou local) e usar o seguinte comando:
Então você só precisa adicionar os arquivos que deseja ignorar nesse arquivo
fonte
.*.sw*
no meu.gitignore
para ocultar todos eles..*.sw?
ser mais preciso. (Embora eu tenha visto pessoas usar alguma variante*.sw*
a suspeitar de que eu sou a algo que falta realmente óbvio ...).*.s[a-w][a-z]
ignorará os.svg
arquivos.Como alternativa, você pode configurar o vim para salvar os arquivos de troca em um local separado, por exemplo, adicionando linhas semelhantes à seguinte ao seu
.vimrc
arquivo:Veja esta dica do vim para mais informações.
fonte
$TMPDIR
para obter o tempdir real :)$TEMP
significa isso ?set undodir=$TEMP//
, pois também salvei arquivos desfazer persistentes.Isso é algo que deve ser feito apenas por usuário, não por repositório. Se Joe usa o emacs, ele desejará que os arquivos de backup do emacs sejam ignorados, mas Betty (que usa o vi) desejará que os arquivos de backup do vi sejam ignorados (em muitos casos, eles são semelhantes, mas existem cerca de 24.893 editores comuns existentes e é bastante ridículo tentar ignorar todas as várias extensões de backup.)
Em outras palavras, não coloque nada dentro
.gitignore
oucore.excludes
dentro$GIT_DIR/config
. Em$HOME/.gitconfig
vez disso, insira as informações (como sugere a nunopolonia--global
.) Observe que "global" significa por usuário, não por sistema.Se você deseja configurar o sistema para todos os usuários (o que você não deseja), precisará de um mecanismo diferente. (Possivelmente com a configuração de modelos antes da inicialização do repositório.)
fonte
Eu também recomendaria pensar em ignorar arquivos como:
pois você pode ter arquivos que terminam com
.swp
fonte
Saia do vim antes de "git commit".
para fazer
vim
uso de outras pastas para arquivos de backup (/tmp
por exemplo):para fazer com que o vim pare de usar a pasta atual para arquivos .swp:
-=, +=
Geralmente, o uso seria bom, porque o vim tem outros padrões para bdir, dir , não queremos limpar tudo. Verifique a ajuda do vim para obter mais informações sobre o bdir, dir :fonte
Aqui está o código VIM real que gera as extensões de arquivo de troca:
Isso irá gerar arquivos de troca do formato:
Que é praticamente o que está incluído no próprio arquivo gitignore do Github para o VIM .
Como outros observaram corretamente, esse .gitignore também ignorará os arquivos de imagem .svg e os arquivos flash .swf adobe.
fonte
Eu descobri que isso terá o git ignore os arquivos temporários criados pelo vim:
Também pode ser visto aqui .
fonte
.swf
arquivos incômodos que aparecem sempre que você cria um aplicativo em flash..svg
que pode ser um problema.*.un~
desde que você o tenha*~
certo,
basta criar um ".gitignore" no diretório inicial do seu projeto e conter
é isso aí
em um comando
fonte
echo *.swp >> .gitignore
melhor evitar a substituição do .gitignore anterior.echo '*.swp' >> .gitignore
>
personagens. Uma vez eu fiz isso com opasswd
arquivo e depois desconectado :-) #http://vimdoc.sourceforge.net/htmldoc/recover.html
http://www.vim.org/scripts/script.php?script_id=1075
fonte
No meu caso, os arquivos temporários já foram confirmados por ações anteriores, portanto, modificar .gitignore não afetará esses arquivos
git rm files_to_be_ignored --cache
confirmados ..., você deve primeiro, depois confirmar e, em seguida, CONCLUÍDO.fonte
Isso funciona em um Mac, como observado por Alex Moore-Niemi:
Certifique-se de usar
TMPDIR
e nãoTEMPDIR
.fonte
Se você estiver usando o controle de origem. os arquivos temporários do vim são bastante inúteis.
Portanto, você pode querer configurar o vim para não criá-los.
Apenas edite seu ~ / .vimrc e adicione estas linhas:
fonte
screen
(oudtach
se ele não deseja todos os recursos da tela). As falhas de energia são tratadas pelo UPS. Os backups são feitos pelo {seu software favorito para fazer backup de todos os arquivos importantes}. Eu uso arquivos de troca para ser notificado quando tento editar arquivos que já foram editados, arquivos de backup, porque ter N + 1 º lugar no backup não prejudica e desfaz arquivos, porque desfazer persistente é útil. Apenas desfazer arquivos são um pouco importantes para mim.