Я заметил, что при использовании Vim в tmux через сеанс SSH, когда я время от времени записываю буфер на диск (то есть :w
), в то время как Vim говорит, что он записан, файл остается неизменным. На самом деле, часто, когда это происходит, Vim будет жаловаться на то, что файл уже изменился, потому что, предположительно, версия файла .swp
идет впереди, чем ожидалось.
Чтобы иногда обойти эту проблему, я сохраняю новый файл, выхожу, удаляю старый и переименовываю новый. Однако чаще всего эффект остается незамеченным, и я теряю работу ... Это очень расстраивает!
Есть идеи, что здесь происходит? Это происходит только в tmux, и я единственный пользователь, присоединяющийся к сессии. Если я закрываю сеанс tmux (а не отсоединяюсь), Vim больше не жалуется на файл подкачки при повторном входе.
Я могу последовательно повторить это (или, по крайней мере, подобное), выполнив следующее:
- Начать новый сеанс tmux
vim foo.txt
- Напишите что-нибудь и напишите
- Выгрузка из сессии tmux
- Присоедините к сеансу tmux
- Выйти из Vim
vim foo.txt
Теперь Vim будет жаловаться, что существует файл подкачки для foo.txt
(например, .foo.txt.swp
), даже если в текущем каталоге его нет.