Редактор для «git bash» на Windows (редактор для mingw/msys+mintty)?

Редактор для «git bash» на Windows (редактор для mingw/msys+mintty)?

Я использую «git bash» для Windows (от «git для Windows»), который в свою очередь состоит из mingw+msys и mintty.

Эта установка mingw содержит редактор 'vi', который работает в mintty. Хорошо.

Вопрос: Существуют ли другие редакторы, работающие в окне эмуляции терминала Mintty?

Проблема в том, что, по-видимому, окно терминала mintty не является настоящим tty, а просто использует stdin/stdout для взаимодействия с приложением (редактором).

Nano просто говорит: «Перенаправление не поддерживается». Emacs -nw просто говорит emacs: «стандартный ввод не является tty»

Я был бы рад любому базовому текстовому редактору с лучшим пользовательским интерфейсом, чем vi.

решение1

ПодхватываяОтвет JFMна вопросКак запустить emacs в режиме CLI под mintty в Windows?

JFM указывает, что собственный win32 emacs хочет взаимодействовать с окном консоли Windows, а не с реальным tty (поэтому сообщение об ошибке, которое мы видим, вводит в заблуждение, проблема заключается в обратном тому, что в нем говорится!)

Два варианта, которые я сейчас обдумываю, это

  1. Удалите -nwиз emacs -nwмоего файла ~/.gitconfig и просто живите с всплывающим окном emacs; или
  2. Переключитесь с Git Bash на обычную командную строку Windows, где emacs -nwнастройка работает нормально.

Преимущество первого варианта для меня в том, что терминал Git bash доступен на Windows и Mac (и Linux). Преимущество второго варианта для меня в том, что я могу использовать все свои знания командной строки Windows.

решение2

Ответhttps://stackoverflow.com/a/38544424/2416627указывает в правильном направлении – используйте winptyкоманду, которая распространяется с Git для Windows, как префикс для фактической команды редактора. Это работает с Emacs и, предположительно, также с Nano.

Однако для Emacs также необходим другой обходной путь из-за проблемы с обработкой комбинации клавиш Ctrl-C.

Во-первых, вот как настроить Emacs в текстовом режиме в качестве редактора по умолчанию — предполагая, что Emacs был установлен путем распаковки Zip-дистрибутива в C:\Program\Emacs:

git config --global core.editor 'winpty /c/Program/Emacs/bin/emacs -nw'

Однако для того, чтобы иметь возможность выйти из Emacs с помощью стандартного сочетания клавиш CX CC, необходимо поместить следующую строку в файл, названный .emacsна верхнем уровне расположения профиля пользователя Windows вошедшего в систему пользователя:

(global-set-key [24 pause] (quote save-buffers-kill-terminal))

То же самое относится к любым другим сочетаниям клавиш, содержащим CC, которые вы хотите использовать, т. е. им должны быть предоставлены дополнительные сопоставления сочетаний клавиш, где в определении вместо CC используется «pause».

Связанный контент