El problema es cómo Vim escribe archivos. Por defecto, hace una copia del archivo y sobrescribe el original.
Puedes observar esto con:
# Show the file's inode
$ ls -i a
3156153 a
# Open file in Vim, :wq
# inode changed!
$ ls -i a
3155322 a
crontabse confunde con esto (ver :help crontab)
Debe usar :set backupcopypara yeshacer que Vim sobrescriba el archivo original:
"yes" make a copy of the file and overwrite the original one
Puede hacer esto automáticamente para archivos crontab con:
au FileType crontab setlocal bkc=yes
crontabnormalmente eleva el valor deEDITORoVISUAL(si está definida), se puede establecer que:EDITOR='VIM_NOBACKUP=1 vim'.crontab -egeneracrontab: VIM_NOBACKUP=1 vim: No such file or directory.