Ну, пока вы в порядке, теряя все несохраненные изменения и останавливая промежуточные фоновые задания, вы можете отправлять другой сигнал из команды kill
с параметром -s
. Сигнал 15
, SIGTERM
, является сигналом по умолчанию;Вы можете kill -s 9
до убить процессы прямо . Вот хороший список сигналов для справки.
Итак, ваша окончательная команда будет выглядеть так:
ps -ef | grep "gvim" | grep -v grep | awk '{print $2}' | xargs kill -s 9
Это не генерирует никаких предупреждений о смертельных сигналах. Это также довольно неприятный способ работы, и он может привести к некоторому грубому поведению, если у вас нетривиальная настройка vim.
Как сказал @moopet в комментариях, вы все равно можете использовать SIGTERM
если вы перенаправите вывод команды на /dev/null
. Это не будет лучше, чем SIGKILL
, поскольку Vim не будет автоматически сохранять ваши файлы, но он может дать любые фоновые задачи, которые он выполнял некоторое время для очистки.
В качестве альтернативы, если выжелая изменить настройки, вы всегда можете запустить vim как сервер и выдавать ему команды сохранения и закрытия из терминала. На сайте Vim SE .
есть отличное объяснение.