Editor para 'git bash' no Windows (editor para mingw/msys+mintty)?

Editor para 'git bash' no Windows (editor para mingw/msys+mintty)?

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

  1. Remova o -nwfrom emacs -nwdo meu arquivo ~/.gitconfig e apenas viva com o pop-up emacs; ou
  2. Troque do Git Bash para a linha de comando normal do Windows, onde a emacs -nwconfiguraçã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 winptycomando 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 .emacsno 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.

informação relacionada