Como faço para que o Git use o editor da minha escolha para commits?

Preferia escrever as minhas mensagens de commit na Vim, mas está a abri-las no Emacs.

como é que configuro o Git para usar sempre a Vim? Note que eu quero fazer isso globalmente, não apenas por um único projeto.

Author: Mark Amery, 2010-04-08

18 answers

Se você quiser definir o editor apenas para o Git, faça qualquer um (você não precisa de ambos):

  • Conjunto core.editor na sua configuração Git: git config --global core.editor "vim"
  • define o GIT_EDITOR variável de ambiente: export GIT_EDITOR=vim

Se quiser definir o editor para o Git e também para outros programas, defina as variáveis de ambiente padronizadas VISUAL e EDITOR*:

export VISUAL=vim
export EDITOR="$VISUAL"

* definir ambos não é necessariamente necessário, mas alguns programas podem não usar the more-correct VISUAL. Veja VISUAL vs. EDITOR.


Para Texto Sublime : Adicione isto ao .gitconfig. O --wait é importante. (ele permite digitar o texto em sublime e vai esperar por salvar/fechar evento.

[core]
    editor = 'subl' --wait

'a subl' pode ser substituída pela localização completa do executável, mas normalmente está disponível quando correctamente instalada.

 2758
Author: digitaldreamer, 2017-08-16 08:25:43

Copiar colar isto:

git config --global core.editor "vim"
Caso queiras saber o que estás a fazer. De man git-commit:

VARIÁVEIS DE AMBIENTE E CONFIGURAÇÃO

O editor usado para editar a mensagem de registo de persistência será escolhido a partir da variável de ambiente GIT_EDITOR, da variável de configuração core.editor, da variável de ambiente VISUAL ou da variável de ambiente EDITOR (nessa ordem).

 475
Author: Mark Rushakoff, 2014-07-24 14:40:08

No Ubuntu e também no Debian (thanks @MichielB) a alteração do editor predefinido também é possível ao executar:

sudo update-alternatives --config editor

Que irá pedir o seguinte:

There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
* 3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number: 
 151
Author: Koen., 2016-12-26 23:19:50

No windows 7, ao adicionar o editor "Sublime", ainda me estava a dar um erro:

A interromper a persistência devido à mensagem de persistência vazia.

Sublime não foi capaz de manter o foco. Para resolver isto, abri o ... ficheiro gitconfig em c:/users/username/ folder e adicionou a seguinte linha com a opção --wait fora das aspas duplas.
[core]
      editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait
Espero que seja útil para alguém que enfrenta problemas semelhantes com Sublime.
 52
Author: Anmol Saraf, 2014-03-07 00:00:37

No Windows 7, a configurar o editor para o Notepad++

  • Abra qualquer editor de texto.
  • Abra este ficheiro: C:\Users\YOUR_USERNAME\.gitconfig
  • Adicione esta secção AO fundo:

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • Salve e feche o arquivo.
  • Quando se está a comprometer com o git, basta escrever e carregar em Enter. Irá abrir o Notepad++.
  • escreva a sua mensagem de commit no topo do ficheiro, e grave e feche o ficheiro. Feito!
 49
Author: Ryan, 2013-03-07 00:08:27

E se você está trabalhando com designers usando a linha de comando, em seguida, Pico, e não sabe atalhos;)

git config --global core.editor "pico"

Ou

export VISUAL=pico
export EDITOR=pico
 21
Author: tristanbailey, 2012-06-27 13:56:25

Para tornar o Visual Studio Code (vscode) o seu editor Git por omissão

git config --global core.editor "code --wait"
 17
Author: Marcelo Mason, 2016-06-28 20:42:33

Configurar o texto Sublime 2 como editor de commit Git no Mac OSX 10

Execute este comando:

$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"

Ou apenas:

$ git config --global core.editor "subl -w"
 16
Author: Mohsen, 2015-07-23 18:36:33

Atom como editor do git

git config --global core.editor "atom --wait"

O átomo precisa de ser configurado para correr a partir da linha de comandos para que o acima funcione:

OS X : instalar comandos da linha de comandos do Atom: barra de menu > Atom > Instalar Comandos Da Linha De Comandos

Windows : não é necessária nenhuma acção - o atom está configurado para correr a partir da linha de comandos por omissão

 13
Author: 2Toad, 2015-07-13 17:43:30

Para os utilizadores do emacs

.emacs:

(server-start)

shellrc:

export EDITOR=emacsclient
 9
Author: Bendlas, 2010-04-08 00:42:49

Janelas: configurar o bloco de notas como o editor de mensagens de persistência por omissão

git config --global core.editor notepad.exe

Carregue em Ctrl+para gravar a sua mensagem de commit. Para descartar, basta fechar a janela do bloco de notas sem gravar.

No caso de carregar no atalho para gravar, então decida interromper, vá para Ficheiro->Gravar Como, e na janela que abre, mude "gravar como tipo" para "todos os ficheiros (*.*)". Você verá um arquivo chamado "COMMIT_EDITMSG". Apaga - o e fecha a janela do bloco de notas.

Editar: Alternativamente, e mais facilmente, apagar todos os conteúdos da janela do bloco de notas aberto e carregar em gravar. (obrigado mwfearnley para o comentário!)

Eu acho que para pequenos escritos, tais como mensagens de commit o bloco de notas serve melhor, porque é simples, está lá com o windows, se abre em pouco tempo. Até o teu sublime pode demorar um segundo ou dois a ficar excitado quando tens uma carga de plugins e coisas assim.

 9
Author: Sнаđошƒаӽ, 2017-06-30 10:31:14

As melhores configurações para o texto Sublime 3 como o seu editor git (instruções do Windows & Linux):

Para seguir estas instruções no Windows, certifique-se que instalou git para o Windows . No Windows, eu gosto de usar o Git BASH para que ele se sinta mais como Linux.

Primeiro, queremos criar um projecto de Texto Sublime especial para que possamos especificar as configurações especiais do projecto que queremos definir sempre que o git chamar o editor, para tornar as coisas mais fáceis ao editar no git. Por exemplo, normalmente configura a minha régua para 120 caracteres na maioria dos projectos, mas para as mensagens de commit do git eu quero que sejam 72 caracteres para que se encaixe bem num terminal quando você ligar para git log ou git lg.


1. Criar um projecto de Texto Sublime com a configuração que queremos usar para editar as mensagens de commit do git

Abra o texto Sublime e vá para "File" --> "New Window" para criar um novo projecto anónimo. Go to "Project" -- > " Save Project As..."e escolher um lugar para salvá-lo. no Linux salvei está na minha pasta pessoal do Linux com o nome do ficheiro .gitconfig.sublime-project. O seu caminho é, portanto: ~/.gitconfig.sublime-project no Windows também o grava na sua pasta pessoal, ex: C:\Users\MY_USER_NAME\.gitconfig.sublime-project Agora vá para "Project" -- > "editar o projecto" para editar a configuração do projecto. Cole o seguinte e salve a configuração. Faça quaisquer outras edições para a configuração do seu projecto, se desejar.

{
    //For folder settings help see here: https://www.sublimetext.com/docs/3/projects.html 

    "folders":
    [

    ],

    "settings":
    {

        // Disables horizontal scrolling if enabled.
        // May be set to true, false, or "auto", where it will be disabled for
        // source code, and otherwise enabled.
        "word_wrap": false,

        // Set to a value other than 0 to force wrapping at that column rather than the
        // window width
        "wrap_width": 0,

        // Columns in which to display vertical rulers
        "rulers": [72, 50], //72 is recommended by git for commit message content, and 50 for commit titles

        // The number of spaces a tab is considered equal to
        "tab_size": 4,

        // Set to true to insert spaces when tab is pressed
        "translate_tabs_to_spaces": true,
    },

    "build_systems":
    [

    ]

}

2. Define o editor a usar pelo git

Agora precisamos definir o editor a ser usado pelo git, editando o arquivo .gitconfig.

Para Linux:

A sua cópia do utilizador ficará localizada em ~/.gitconfig. Abra este ficheiro e adicione as seguintes linhas. não se esqueça de usar o nome do caminho apropriado para o projecto git que acabou de criar acima!Estou a usar o ~/.gitconfig.sublime-project.

[core]
    editor = subl --project ~/.gitconfig.sublime-project --wait

O --wait é importante, pois obriga o git a esperar até que você feche o arquivo antes que ele continue. A linha --project é importante para dizer ao Texto Sublime qual o projecto que deseja abrir sempre que o git abrir Sublime.

Por @digitaldreamer a resposta acima (https://stackoverflow.com/a/2596835/4561887), "subl pode ser substituído pelo caminho completo do executável, mas [o alias subl] é geralmente disponível quando [é Sublime] corretamente instalado."

Para Janelas:

Para o Windows, leia primeiro as instruções Linux para informações de fundo. Agora vamos fazer algo quase idêntico.

(opcional: criar uma subl alcunha para usar na BASH do Git):

Abra um editor de texto (ex: Notepad, Notepad++, Texto Sublime, Geany, etc), e criar um arquivo chamado".bash_ profile " na sua pasta pessoal. Seu caminho será, portanto: C:\Users\MY_USER_NAME\.bash_profile. Guardar o seguinte:

alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"

Isto cria um pseudónimo Git BASH chamado subl que agora podemos usar no Git BASH para janelas, para abrir facilmente o Sublime. Este passo não é necessário, mas é útil para o uso do General Git BASH. Agora você pode chamar subl ., por exemplo, em git BASH para abrir um novo projeto Sublime em seu diretório atual.

(obrigatório):

Edite o ficheiro .gitconfig encontrado na sua pasta pessoal: C:\Users\MY_USER_NAME\.gitconfig, adicionando-lhe o seguinte. Observe as mudanças sutis das instruções Linux acima:

[core]
  editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
  • observe que você deve especificar o caminho completo para o executável Texto Sublime. Repara na direcção das barras! Use / Não \ para separar as pastas no nome da localização! Obrigado por me ajudares a ver isto.
  • o nosso nome falso que fizemos para o Git BASH acima não funciona aqui, então você não pode usá-lo como fizemos no exemplo Linux, em vez disso você deve especificar todo o caminho como mostrado acima.
  • o símbolo ~, no entanto, ainda funciona aqui para chegar à sua pasta pessoal do Windows.

2.5. (Opcional) instalar o pacote "Git" no texto Sublime 3.

Isto dá-lhe realce de sintaxe para as mensagens git commit, assim como acesso a outros comandos git como git blame (que eu uso frequentemente em Sublime Texto) ou {[[26]} (que eu não uso em Texto Sublime uma vez que eu prefiro a linha de comando para o fluxo geral de git, como eu mencionei em meus comentários abaixo desta resposta).

Para instalar um pacote: em primeiro lugar, certifique-se de que o "controlo do pacote" está instalado. A seguir, carregue em Ctrl + Shift + P (o mesmo que Tools → paleta de comandos) e digite toda ou parte de" controle de pacotes: instalar pacotes", em seguida, pressione Enter. Na caixa de pesquisa que aparece, procurar o pacote " Git " e bater Insira nele, ou clique nele, para instalá-lo automaticamente.

Uma vez instalado, Ctrl + Shift + P depois, a procura por " git " irá trazer os comandos git que você pode usar internamente dentro do Texto Sublime agora, como git blame.


3. Use-o

Agora, quando você chama git commit, por exemplo, como normal a partir da linha de comando, o texto Sublime irá abrir-se no .gitconfig.sublime-project que criamos acima, com as configurações desse projeto! Como você digita um parágrafo você vai reparem que se estende para além da régua que definimos, já que a linha suave está desligada. para forçar a mudança de linha dura através de 'hard-returns' auto-inseridos no fim de cada linha, coloque o seu cursor na linha longa que quiser e carregue em Alt + Q . irá agora enrolar / dobrar a 72 caracteres, que é o que definimos no parâmetro "réguas" da configuração do projecto acima.

Agora, salve a sua mensagem de commit com Ctrl + S , e sair (para completar o seu git commit) com Ctrl + Shift + W . Feito!
 5
Author: Gabriel Staples, 2018-04-03 15:52:30

Mvim como seu editor git

Como todas as outras aplicações GUI, você tem que lançar mvim com a bandeira de espera.

git config --global core.editor "mvim --remote-wait"
 2
Author: Matteo Rolla, 2015-08-12 14:40:09
Tenta.

Ou pode configurar o seu EDITOR para vim por export EDITOR=vim no seu bashrc.

 1
Author: Xiao Hanyu, 2013-07-01 07:21:10

Para utilizadores de TextWrangler do Mac app store:

git config --global core.editor "open -n -W -a TextWrangler"

Certifique-se também que o seu "TextWrangler > Preferências > aplicação > quando o TextWrangler se tornar activo: "a configuração está configurada para"não fazer nada"

Isto funciona para mim no OS X 10.11.4 com o TextWrangler 5.0.2 da Mac app store.

Explicação:

O -n significa abrir numa nova instância.

O - W significa esperar até que a aplicação saia antes de utilizar o conteúdo do ficheiro editado como mensagem de commit.

O - Um TextWrangler significa usar a aplicação TextWrangler para abrir o ficheiro.

Veja man open na sua aplicação de Terminal Mac para mais detalhes.

 1
Author: DLRdave, 2016-04-15 21:32:19

Para os utilizadores do Windows que queiram utilizar o neovim com o Subsistema Windows para o Linux:

git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"

Isto é não uma solução à prova de tolos, uma vez que não lida com o ajuste interactivo (por exemplo). Melhorias muito bem-vindo!

 1
Author: brcolow, 2016-12-08 21:21:44

Para Os Utilizadores Textmate

Isto abre o editor Textmate quando quiser editar os seus commits. Necessita de instalar as ferramentas da linha de comandos textmate.

git config --global core.editor "mate -w"

 -1
Author: code ninja, 2015-07-23 19:46:18

Para os utilizadores do Windows que queiram usar o Editor de texto do Kinesics

Crie um ficheiro chamado 'k.sh', adicione o seguinte texto e coloque na sua pasta pessoal (~):

winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1

No tipo git prompt:

git config --global core.editor ~/k.sh
 -1
Author: Mike Cheel, 2016-06-01 14:17:58