vim.desktop - изменения теряются при выходе терминала

Я был в восторге от заметок запуска GNOME для vim в пакете vim-common после моего обновления до Ubuntu 16.04, так как он предлагает альтернативу gvim (твердое приложение, хотя и не идеальное для моего рабочего процесса). Но есть проблема с пусковой установкой vim, которая легко воспроизводится следующим образом:

Щелкните правой кнопкой мыши файл и откройте с> Vim (а не Gvim!) ... vim запускается в вашем файле в терминал. Внесите некоторые изменения, но не сохраняйте их. Закройте окно из строки заголовка, так как вы закроете gvim или любое другое приложение с ожидающими изменениями. Изменения теряются, поскольку процесс vim умирает вместе с терминалом (оставляя файл подкачки)

Я бы хотел найти оптимальный способ исправления файла vim.desktop (версия системы в /usr/share/applications), чтобы сделать vim пусковую установку жизнеспособной альтернативой gvim, так как эта пусковая установка по умолчанию похожа на случайный случай, ожидающий своего существования.

Параметр Terminal=true кажется заданным, но [ f13] уязвим для оконного умирания и поэтому должен быть заменен скриптом-оболочкой ... но мне нужен совет

, как эта оболочка может обрабатывать сигнал родительского терминала, умеющего обрабатывать диалог с помощью пользователь о сохранении файла

Мне кажется, что вторая из этих задач невозможна, так как вам нужно будет сделать IPC с самого сеанса vim, чтобы потребовать сохранения или отказа файла, по выбору пользователя ... но я думал, что попрошу здесь, прежде чем сдаться.

Я уже знаю, что gvim - это обходной путь, но это не будет ответом на сам вопрос. Я просто удивлен, что эта слабая пусковая установка vim снабжена Ubuntu & amp; другие дистрибутивы, когда он приглашает катастрофу в процесс редактирования.

1
задан 25 April 2016 в 11:54

1 ответ

Эта проблема обсуждалась в Unix & amp; Linux. Совершенно просто, нет никакого реального способа сделать это. Простейшим обходным путем является запуск Vim в screen или tmux. Вместо:

Exec=vim %F

Have:

Exec=screen vim %F

Тогда, даже если вы закроете терминал, вы можете открыть другой терминал и возобновить сеанс:

[ f3]
1
ответ дан 23 May 2018 в 11:52

Другие вопросы по тегам:

Похожие вопросы: