Desativando o arquivo de swap
Para os buffers existentes, você pode :setlocal noswapfile
. Isso removerá qualquer existente e desativará a recuperação. Ao abrir novos buffers, você também pode preceder diretamente :noswapfile edit ...
Detectando o repositório Git
Se você sempre abrir o Vim a partir do diretório raiz do Git, isso pode ser tão simples quanto isdirectory('.git')
. Senão, você teria que verificar também os diretórios pais:
let gitDirspec = finddir('.git', '.;')
let isGitRepo = !empty(gitDirspec)
Como alternativa, o plug-in vcscommand.vim fornece detecção para vários tipos de sistema de controle de revisão (entre eles, o Git):
let isGitRepo = VCSCommandGetVCSType('') ==? 'git'
Conectando-se
Se você tivesse uma lista estática de repositórios Git, poderia colocar os caminhos diretamente nos padrões :autocmd
filespec:
:autocmd BufNew,BufRead /path/to/repo1/**,/path/to/repo2/** setlocal noswapfile
Para executar a detecção, precisamos executar os autocmds em cada arquivo aberto:
:autocmd BufNew,BufRead * if VCSCommandGetVCSType('') ==? 'git' | setlocal noswapfile | endif