it-swarm-pt.tech

Como eu faço o Git usar o editor de minha escolha para commits?

Eu preferiria escrever minhas mensagens de commit no Vim, mas elas estão abrindo no Emacs.

Como faço para configurar o Git para sempre usar o Vim? Note que eu quero fazer isso globalmente, não apenas para um único projeto.

2218
brasskazoo

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

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

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

export VISUAL=vim
export EDITOR="$VISUAL"

* A configuração de ambos não é necessariamente necessária, mas alguns programas podem não usar o VISUAL mais correto. Veja VISUAL VS. EDITOR .


Para o texto sublime : Adicione isto ao .gitconfig. O --wait é importante. (permite digitar texto em sublime e esperará pelo evento save/close.

[core]
    editor = 'subl' --wait

'subl' pode ser substituído pelo caminho completo do executável, mas geralmente está disponível quando instalado corretamente.

3075
digitaldreamer

Copie e cole isto:

git config --global core.editor "vim"

Caso você queira saber o que está fazendo. De man git-commit:

VARIÁVEIS DE AMBIENTE E CONFIGURAÇÃO

O editor usado para editar a mensagem de log de confirmação será escolhido 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).

534
Mark Rushakoff

No Ubuntu e também no Debian (obrigado @ MichielB) também é possível alterar o editor padrão:

Sudo update-alternatives --config editor

Qual vai 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: 
172
Koen.

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

Anulando a confirmação devido à mensagem de confirmação vazia.

Sublime não conseguiu manter o foco.

Para corrigir isso, abri o arquivo .gitconfig em c:/users/username/folder e adicionei 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 problema semelhante com o Sublime.

59
Anmol Saraf

No Windows 7, configurando o editor para o Notepad ++

  • Abra qualquer editor de texto.
  • Abra este arquivo: C:\Users\YOUR_USERNAME\.gitconfig
  • Adicione esta seção ao final:

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • Salve e feche o arquivo.
  • Quando você está se comprometendo com o git, apenas escreva git commit e pressione Enter. Ele irá abrir o Notepad ++.
  • Escreva sua mensagem de commit no topo do arquivo, salve e feche o arquivo. Feito!
53
Ryan

Para tornar o Visual Studio Code (vscode) seu editor git padrão

git config --global core.editor "code --wait"
23
Marcelo Mason

E se você estiver trabalhando com designers usando a linha de comando, então o Pico, e não conheça atalhos;)

git config --global core.editor "pico"

Ou

export VISUAL=pico
export EDITOR=pico
23
tristanbailey

Configurando o Sublime Text 2 como editor de confirmação do 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"
17
Mohsen

Atom como seu editor git

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

Atom precisa ser configurado para ser executado a partir da linha de comando para o acima para funcionar:

OS X: instalar comandos do Shell a partir do Atom: barra de menu> Atom> Instalar Comandos do Shell

Windows: nenhuma ação necessária - o atom está configurado para ser executado a partir da linha de comando por padrão

15
2Toad

Windows: configurando o bloco de notas como o editor de mensagens de confirmação padrão

git config --global core.editor notepad.exe

Acertar Ctrl+S para salvar sua mensagem de commit. Para descartar, basta fechar a janela do bloco de notas sem salvar.

Se você clicar no atalho para salvar, então decida abortar, vá para Arquivo-> Salvar como e na caixa de diálogo que é aberta, altere "Salvar como tipo" para "Todos os arquivos (*. *)". Você verá um arquivo chamado "COMMIT_EDITMSG". Exclua e feche a janela do bloco de notas.

Edit: Alternativamente, e mais facilmente, exclua todo o conteúdo da janela aberta do bloco de notas e clique em salvar. (obrigado mwfearnley pelo comentário!)

Eu acho que para pequenos write-ups, como o bloco de notas de mensagens de confirmação serve melhor, porque é simples, existe com o Windows, abre em nenhum momento. Mesmo o seu sublime pode demorar um ou dois segundos para ser ativado quando você tem uma carga de plugins e outras coisas.

10
Sнаđошƒаӽ

Para usuários do emacs

.emacs:

(server-start)

shellrcname__:

export EDITOR=emacsclient
9
Bendlas

Melhores configurações para o Sublime Text 3 como seu editor git (instruções para Windows e Linux):

Para seguir estas instruções no Windows, certifique-se de ter instalado git para Windows . No Windows, gosto de usar o Git BASH para parecer mais com o Linux.

Primeiro, queremos criar um projeto especial de texto sublime para que possamos especificar configurações de projeto especiais que desejamos definir sempre que o git chamar o editor, para facilitar as coisas ao editar no git. Por exemplo, eu normalmente coloco minha régua em 120 caracteres na maioria dos projetos, mas para mensagens git commit eu quero que sejam 72 caracteres para que caiba bem em um terminal quando você chama git log ou git lg .


1. Crie um projeto Sublime Text com as configurações que queremos usar para editar mensagens de confirmação do git

Abra o Sublime Text e vá para "Arquivo" -> "Nova Janela" para criar um novo projeto anônimo. Vá para "Projeto" -> "Salvar projeto como ..." e escolha um local para salvá-lo. No Linux eu o salvei no meu diretório pessoal do Linux com o nome do arquivo .gitconfig.sublime-project. Seu caminho é, portanto: ~/.gitconfig.sublime-project. No Windows também salve no seu diretório pessoal, ex: C:\Users\MY_USER_NAME\.gitconfig.sublime-project Agora vá em "Project" -> "Edit Project" para editar as configurações do projeto. Cole o seguinte e salve as configurações. Faça mais edições para as configurações do seu projeto, 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. Configure o editor para ser usado pelo git

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

Para o Linux:

Sua cópia de usuário estará localizada em ~/.gitconfig. Abra este arquivo e adicione as seguintes linhas. Certifique-se de usar o nome do caminho correto para o projeto git que você acabou de criar acima! Estou usando ~/.gitconfig.sublime-project.

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

O --wait é importante, pois força o git a aguardar até você fechar o arquivo antes de continuar. A linha --project é importante para informar ao Sublime Text qual projeto você deseja abrir sempre que o git abrir o Sublime.

Por @ resposta digitaldreamer 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 está] corretamente instalado. "

Para Windows:

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

(OPCIONAL: crie um alias subl para uso no Git BASH):

Abra um editor de texto (ex: Bloco de notas, Notepad ++, Sublime Text, Geany, etc) e crie um arquivo chamado ".bash_profile" em seu diretório home. Seu caminho, portanto, será: C:\Users\MY_USER_NAME\.bash_profile. Salve o seguinte:

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

Isso cria um apelido Git BASH chamado subl que agora podemos usar no Git BASH para Windows, para abrir facilmente o Sublime. Esta etapa não é necessária, mas é útil para uso geral do Git BASH. Agora você pode chamar subl ., por exemplo, no Git BASH para abrir um novo Sublime Project no seu diretório atual.

(OBRIGATÓRIO):

Edite o arquivo .gitconfig encontrado em seu diretório pessoal: C:\Users\MY_USER_NAME\.gitconfig, adicionando o seguinte a ele. Observe as mudanças sutis das instruções do 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 do Sublime Text. Observe a direção das barras! Use / NOT \ para separar pastas no nome do caminho! (Obrigado VonC por me ajudar a ver isso ).
  • Nosso alias subl que criamos para o Git BASH acima não funciona aqui, então você não pode usá-lo como fizemos no exemplo do Linux, em vez disso você deve especificar o caminho inteiro como mostrado acima.
  • O símbolo ~, no entanto, ainda funciona aqui para chegar ao diretório base do Windows.

2.5. (Opcional) Instale o pacote "Git" no Sublime Text 3.

Isto lhe dá destaque de sintaxe para mensagens git commit, assim como acesso a outros comandos git como git blame (que eu uso freqüentemente em Sublime Text) ou git commit (que eu não uso em Sublime Text pois prefiro a linha de comando para o fluxo geral do git, como eu mencionei nos meus comentários abaixo desta resposta).

Para instalar um pacote: Primeiro, assegure-se de que “Package Control” esteja instalado. Em seguida, pressione Ctrl + Shift + P (igual a Tools → Command Palette) e digite todo ou parte de “Package Control: Install Package”, depois pressione Enter. Na caixa de pesquisa que aparece, procure pelo pacote "Git" e pressione Enter, ou clique nele, para instalá-lo automaticamente.

Uma vez instalado, Ctrl + Shift + P Em seguida, pesquisar por "git" exibirá comandos git que você pode usar internamente no Sublime Text agora, como git blame.


3. Use isso

Agora, quando você chama git commit, por exemplo, como normal a partir da linha de comando, o Sublime Text abrirá no .gitconfig.sublime-project que criamos acima, com as configurações do projeto! À medida que você digita um parágrafo, você notará que ele se estende além da régua que definimos, uma vez que o envoltório suave do Word está desativado. Para forçar um envoltório difícil por meio de retornos duros inseridos automaticamente no final de cada linha, coloque o cursor na linha longa desejada e pressione Alt + Q Agora ele vai enrolar/dobrar com firmeza a 72 caracteres, que é o que definimos no parâmetro "réguas" das configurações do projeto acima.

Agora, salve sua mensagem de commit com Ctrl + Se sair (para completar seu git commit) com Ctrl + Shift + W.

Feito!

7
Gabriel Staples

Isso fornece uma resposta para as pessoas que chegam a essa questão que podem querer vincular um editor diferente do vim.

O recurso vinculado, por Github , provavelmente será mantido atualizado, quando os editores forem atualizados, mesmo que as respostas em SO (incluindo este) não são.

Associando editores de texto com git

A postagem do Github mostra exatamente o que digitar na sua linha de comando para vários editores, incluindo as opções/flags específicas para cada editor para que funcione melhor com o git.

Notepad ++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Texto sublime:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"

Átomo:
git config --global core.editor "atom --wait"

Os comandos acima assumem que seu editor foi instalado no diretório padrão para uma máquina com Windows.

Os comandos basicamente adicionam o texto entre aspas duplas para .gitconfig no seu diretório pessoal.
Em um computador com Windows, é provável que seja C:\Users\your-user-name, onde seu nome de usuário é seu nome de login.
Na linha de comando, você pode acessar este diretório digitando cd ~.

por exemplo, um comando acima seria adicionar a seguinte linha sob a seção [core] da seguinte forma:
[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w

Se você tiver um editor diferente, basta substituir o caminho do editor, usando o método acima. (e espero que nenhum sinalizador seja necessário para o uso ideal.)

5
SherylHohman

Mvim como seu editor git

Como todos os outros aplicativos da GUI, você deve iniciar o mvim com o sinalizador de espera.

git config --global core.editor "mvim --remote-wait"
3
Matteo Rolla

Para usuários do Windows que desejam usar neovim com o Windows Subsystem for Linux:

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

Isto é não uma solução infalível, pois não manipula o rebasing interativo (por exemplo). Melhorias muito bem vindas!

2
brcolow

Ao usar git-review eu tive que modificar o valor sequence.editor para poder fazer um rebase interativo (git rebase -i -p):

git config --global sequence.editor "gvim"  # or whatever your prefer

gvim require: apt install vim-gtk

Referências

1
Édouard Lopez

Para usuários do TextWrangler da loja de aplicativos Mac:

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

Além disso, verifique se o seu "TextWrangler> Preferências> Aplicativo> Quando o TextWrangler se torna ativo:" a configuração está definida como "Não fazer nada"

Isso funciona para mim no OS X 10.11.4 com TextWrangler 5.0.2 da loja de aplicativos Mac.

Explicação:

O - n significa aberto em uma nova instância.

O - W significa esperar até que o aplicativo saia antes de usar o conteúdo do arquivo editado como mensagem de confirmação.

O - um TextWrangler significa usar o aplicativo TextWrangler para abrir o arquivo.

Veja man open no seu aplicativo Mac Terminal para mais detalhes.

1
DLRdave

Apenas tente EDITOR=vim git commit.

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

1
Xiao Hanyu