ПРИМІТКА : відповідь, в якій сказано використовувати ZZкоманду, не працює для мене в моїй системі Mavericks, але це, мабуть, пов’язано з чимось у моїй конфігурації vim, тому що якщо я починаю з первісної .vimrc, прийнята відповідь працює. Моя відповідь може підійти вам, якщо інше рішення не допоможе.
У MacOS X, згідно з керівництвом crontab, тимчасовий файл crontab, який створюється за допомогою, crontab -eслід редагувати на місці. Vim не редагує на місці за замовчуванням ( але це може бути якийсь особливий випадок для підтримкиcrontab -e ), тому, якщо для вашої $EDITORзмінної середовища встановлено значення vi(за замовчуванням), або vimредагування crontab завжди буде невдалим.
Щоб змусити Vim редагувати файл на місці, потрібно виконати:
:setlocal nowritebackup
Це має дозволити вам оновлювати crontab, коли ви робите crontab -eз :wqабоZZ командами.
Ви можете додати автокоманду у .vimrc, щоб це автоматично працювало під час редагування crontabs:
autocmd FileType crontab setlocal nowritebackup
Інший спосіб додати setlocal nowritebackupдо ~/.vim/after/ftplugin/crontab.vim, який буде завантажений Vim автоматично при редагуванні файлу кронтаб , якщо у вас включений плагін Filetype. Ви також можете перевірити наявність ОС, якщо використовуєте файли vim на кількох платформах:
""In ~/.vim/after/ftplugin/crontab.vim
if has("mac")
setlocal nowritebackup
endif
crontab: installing new crontabна терміналі?