Estou usando 'git bash' para Windows (de 'git for Windows'), que por sua vez consiste em mingw+msys e um mintty.
Esta instalação do mingw contém um editor 'vi' que funciona no mintty. Bom.
Pergunta: Existem outros editores disponíveis que são executados na janela de emulação de terminal mintty?
O problema é que aparentemente a janela do terminal mintty não é um tty real, mas apenas usa stdin/stdout para se comunicar com o aplicativo (editor).
Nano apenas diz: 'Redirecionamento não é suportado.'. Emacs -nw apenas diz emacs: 'a entrada padrão não é um tty'
Eu ficaria feliz com qualquer editor de texto básico que tenha uma interface de usuário melhor que o vi.
Responder1
PegandoA resposta do JFMpara uma perguntaComo executar o emacs no modo CLI no mintty no Windows?
JFM aponta que o emacs win32 nativo deseja se comunicar com uma janela do console do Windows, não com um tty real (portanto, a mensagem de erro que vemos é enganosa, o oposto do que afirma é o problema!)
As duas opções imediatas nas quais estou pensando são
- Remova o
-nw
fromemacs -nw
do meu arquivo ~/.gitconfig e apenas viva com o pop-up emacs; ou - Troque do Git Bash para a linha de comando normal do Windows, onde a
emacs -nw
configuração funciona bem.
A vantagem para mim da primeira opção é que o terminal Git bash está disponível no Windows e Mac (e Linux). A vantagem da segunda opção para mim é que posso usar todo o meu conhecimento de linha de comando do Windows.
Responder2
A respostahttps://stackoverflow.com/a/38544424/2416627aponta na direção certa – use o winpty
comando que é distribuído com o Git para Windows como um prefixo para o comando do editor real. Isso funciona com o Emacs e provavelmente também com o Nano.
Para o Emacs, outra solução alternativa também é necessária, devido a um problema com o manuseio da combinação de teclas Ctrl-C.
Primeiro, aqui está como configurar o Emacs em modo texto como editor padrão – assumindo que o Emacs foi instalado descompactando a distribuição Zip para C:\Program\Emacs
:
git config --global core.editor 'winpty /c/Program/Emacs/bin/emacs -nw'
No entanto, para poder sair do Emacs usando o atalho padrão do CX CC, a seguinte linha deve ser colocada em um arquivo nomeado .emacs
no nível superior do local do perfil de usuário do Windows do usuário logado:
(global-set-key [24 pause] (quote save-buffers-kill-terminal))
O mesmo se aplica a quaisquer outros atalhos contendo CC que se deseje poder usar – ou seja, devem receber mapeamentos de atalho adicionais onde "pause" é usado na definição em vez de CC.