Я помітив, що, використовуючи Vim у tmux під час сеансу SSH, коли я записую буфер на диск (тобто :w
) періодично, тоді як Vim каже, що він написаний, файл залишається незмінним. Насправді, часто, коли це трапляється, Vim скаржиться на те, що файл вже змінився, оскільки, імовірно, .swp
версія файлу випереджає очікувану.
Щоб іноді подолати цю проблему, я зберігаю новий файл, виходжу, видаляю старий, а потім перейменую новий. Однак найчастіше афект залишається непоміченим, і я закінчую втрату роботи ... Це дуже засмучує!
Будь-яка ідея, що тут відбувається? Це трапляється лише в tmux, і я єдиний користувач, який приєднується до сеансу. Якщо я закрию сеанс tmux (а не відривати), Vim більше не скаржиться на файл swap, коли я знову входжу в систему.
Я можу послідовно повторювати це (або щонайменше подібне), виконуючи наступні дії:
- Почніть новий сеанс tmux
vim foo.txt
- Напишіть щось і напишіть
- Від'єднати від сеансу tmux
- Повторно приєднайте до сесії tmux
- Покиньте vim
vim foo.txt
Тепер Vim поскаржиться на існування файлу swap для foo.txt
(наприклад, .foo.txt.swp
), хоча у поточному каталозі його, схоже, немає.