7

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

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

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

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

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

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

2 ответа2

3

Ответ на вопрос 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.

0

Ответ 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .