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

7

Estou usando o 'git bash' para Windows (do 'git for Windows') que, por sua vez, consiste em mingw + msys e um mintty.

Esta instalação 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 do terminal mintty?

O problema é que, aparentemente, a janela do terminal mintty não é uma 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: 'input 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.

    
por Johannes Overmann 14.10.2015 / 23:30

2 respostas

3

Pegando a resposta do JFM à pergunta Como executar o emacs no modo CLI sob o tempo em janelas?

O JFM ressalta que o win32 emacs nativo quer falar com uma janela de console do Windows, não com um tty real (então a mensagem de erro que vemos é enganosa, o oposto do que afirma ser o problema!)

As duas opções imediatas em que estou pensando são

  1. Remova o -nw do emacs -nw no meu arquivo ~ / .gitconfig e viva apenas com o emacs pop-up; ou
  2. Troque do Git Bash para a linha de comando normal do Windows, onde a configuração emacs -nw funciona bem.

A vantagem para mim da primeira opção é que o terminal Git bash está disponível em Windows e Mac (e Linux). A vantagem da segunda opção para mim é que eu posso usar todo o meu conhecimento de linha de comando do Windows.

    
por 28.01.2016 / 11:50
0

A resposta link aponta na direção certa - use o comando winpty que é distribuído com o Git para Windows como um prefixo para o comando real do editor. Isso funciona com o Emacs e presumivelmente 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 no modo texto como o 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 chamado .emacs no nível superior da localização do perfil de usuário do Windows do usuário que efetuou login:

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

O mesmo se aplica a qualquer outro atalho contendo C-C que se queira poder usar - isto é, eles devem receber mapeamentos de atalho adicionais onde "pause" é usado na definição em vez de C-C.

    
por 25.09.2018 / 14:00