No Vim, quando escrevo uma cópia do buffer atual em um novo arquivo usando :w [filename]
, parece que o Vim usa as permissões de arquivo padrão (isto é, definidas por umask ou qualquer outra coisa) para o novo arquivo. Se o buffer atual foi carregado de um arquivo existente, o comportamento "certo" não deveria ser duplicar as permissões desse arquivo? Por exemplo, se estou editando um arquivo executável e escrevendo uma nova cópia do arquivo, por que o Vim não grava um novo executável ? Existe alguma maneira de forçar o Vim a se comportar da maneira que estou descrevendo, além de fazer algo como ! chmod --reference % [newfilename]
depois de escrever o novo arquivo?
chmod
por você. AFAIK, vim não têm esta embutido.