Я думаю, что вы подходите к проблеме не с той стороны.Вместо выхода из vi
, подумайте о том, чтобы не запускать его.
Я могу только догадываться, почему запускается vi
, похоже, это связано с вашими «заданиями».Одна из возможных причин заключается в том, что они запускают текстовый редактор по умолчанию для захвата некоторого пользовательского ввода (хорошо известный пример такого поведения заключается в том, что когда вы вызываете hg commit
, svn commit
, cvs ci
и т. Д. Без предоставления сообщения, ониавтоматически запускать текстовый редактор, чтобы получить сообщение о фиксации).
Если это так, сначала проверьте ваши «задания», так как у них могут быть варианты отключить эту самую подсказку.В противном случае они могут использовать переменную окружения $EDITOR
, чтобы решить, какой редактор запускать, задав для этой переменной то, что вы готовите (например, скрипт, который будет записывать сообщение по умолчанию в файл, указанный в качестве параметра).