Eu preferiria escrever minhas mensagens de confirmação no Vim, mas as está abrindo no Emacs.
Como eu configuro o Git para sempre usar o Vim? Observe que eu quero fazer isso globalmente, não apenas para um único projeto.
Eu preferiria escrever minhas mensagens de confirmação no Vim, mas as está abrindo no Emacs.
Como eu configuro o Git para sempre usar o Vim? Observe que eu quero fazer isso globalmente, não apenas para um único projeto.
Respostas:
Se você deseja definir o editor apenas para o Git, faça o seguinte (você não precisa dos dois):
core.editor
na sua configuração do Git:git config --global core.editor "vim"
GIT_EDITOR
variável de ambiente:export GIT_EDITOR=vim
Se você deseja configurar o editor para o Git e também outros programas , defina as variáveis padronizadas VISUAL
e de EDITOR
ambiente *:
export VISUAL=vim
export EDITOR="$VISUAL"
* A configuração de ambos não é necessariamente necessária, mas alguns programas podem não ser os mais corretos VISUAL
. Veja VISUAL
vs.EDITOR
.
Para texto sublime : adicione isso ao .gitconfig
. O --wait
é importante (permite digitar o texto em sublime e aguardará o evento salvar / fechar.)
[core]
editor = 'subl' --wait
'subl' pode ser substituído pelo caminho completo do executável, mas geralmente está disponível quando instalado corretamente.
git config --global
gravaria no seu arquivo de configuração pessoal (por usuário) git. Nos Unices, é ~/.gitconfig
. Portanto, isso o configuraria para todos os seus repositórios.
git commit --amend
-w
não é necessário; -w {scriptout}
salva todos os caracteres digitados ao editar para reproduzir mais tarde. Talvez você esteja confundindo isso -f
, o que é necessário ao chamar a versão GUI do Vim. Ou seja, se você usar mvim
, o editor que você especificar deverá ser em mvim -f
vez de mvim
.
Copie e cole:
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 na
GIT_EDITOR
variável de ambiente, nacore.editor
variável de configuração, naVISUAL
variável de ambiente ou naEDITOR
variável de ambiente (nessa ordem).
VISUAL
ou EDITOR
, mas certamente não usam GIT_EDITOR
ou core.editor
.
No Ubuntu e também no Debian (obrigado @MichielB), também é possível alterar o editor padrão executando:
sudo update-alternatives --config editor
O que solicitará 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:
alternatives
sistema Debian é uma maneira muito mais fácil de gerenciar padrões para os tipos de programas suportados. Para referência: debian-administration.org/article/91/…
GIT_EDITOR
e EDITOR
não funciona --ubuntu
update-alternatives
mostrará todos os editores que foram instalados. Koen simplesmente não possui o Emacs instalado.
No Windows 7, ao adicionar o editor "Sublime", ele ainda estava me causando um erro:
Interrompendo confirmação devido à mensagem de confirmação vazia.
Sublime não foi capaz de 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 um problema semelhante com o Sublime.
git config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait"
C:\Users\YOUR_USERNAME\.gitconfig
[core]
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe'
git commit
e pressionar Enter
. Ele abrirá o Notepad ++.-multiInst
como um parâmetro ao bloco de notas ++ e, possivelmente -notabbar
. Faça isso se o git não souber quando você terminar de editar o arquivo e esperar uma eternidade ou não.
>git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"'
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar
- isto é, parâmetros fora das aspas simples delimitadoras
Para tornar o Visual Studio Code (vscode) seu editor git padrão
git config --global core.editor "code --wait"
E se você estiver trabalhando com designers usando a linha de comando, então o Pico, e não sabe atalhos;)
git config --global core.editor "pico"
Ou
export VISUAL=pico
export EDITOR=pico
git config --global core.editor "atom --wait"
O Atom precisa ser configurado para executar a partir da linha de comando para que o acima funcione:
OS X : instalar comandos do shell a partir do Atom: barra de menus> Atom> Instalar comandos do shell
Windows : nenhuma ação é necessária - o atom está configurado para executar na linha de comando por padrão
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"
-w
parâmetro Por exemplo. $ git config --global core.editor "code -w"
. Coisas legais
git config --global core.editor notepad.exe
Pressione Ctrl+ Spara salvar sua mensagem de confirmação. Para descartar, basta fechar a janela do bloco de notas sem salvar.
Caso você ative o atalho para salvar, decida interromper, vá em Arquivo-> Salvar como e, na caixa de diálogo exibida, altere "Salvar como tipo" para "Todos os arquivos (*. *)". Você verá um arquivo chamado "COMMIT_EDITMSG". Exclua-o e feche a janela do bloco de notas.
Editar: Como alternativa, e com mais facilidade, exclua todo o conteúdo da janela aberta do bloco de notas e pressione Salvar. (obrigado mwfearnley pelo comentário!)
Eu acho que para pequenos write-ups, como enviar mensagens, o bloco de notas serve melhor, porque é simples, existe com janelas, abre em pouco tempo. Até o seu sublime pode levar um ou dois segundos para ser acionado quando você tem um monte de plugins e outras coisas.
\r\n
(nova linha no Windows) e \n
(nova linha no linux, também padrão para o Git).
core.editor = 'notepad' .git/COMMIT_EDITMSG --wait
para que ele abre e salva a mensagem de edição padrão e você não precisa "salvar como"
Isso fornece uma resposta para as pessoas que chegam a esta pergunta que podem querer vincular um editor que não seja o vim.
O recurso vinculado, pelo Github , provavelmente será mantido atualizado quando os editores forem atualizados, mesmo que as respostas no SO (incluindo este) não sejam.
Associando editores de texto ao git
A postagem do Github mostra exatamente o que digitar na sua linha de comando para vários editores, incluindo as opções / sinalizadores específicos de cada editor para que ele funcione melhor com o git.
Bloco de notas ++:
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 de uma máquina Windows.
Os comandos basicamente adicionam o texto entre aspas duplas .gitconfig
no diretório inicial.
Em uma máquina Windows, é provável que esteja em casa C:\Users\your-user-name
, onde o seu nome de usuário é o seu nome de login.
Na linha de comando, você pode alcançar este diretório digitando cd ~
.
por exemplo, um comando acima seria adicionar a seguinte linha na [core]
seção da seguinte maneira:
[core]
editor = 'C:/Program Files/sublime text 3/subl.exe' -w
Se você tiver um editor diferente, substitua pelo caminho do seu editor, usando qualquer um dos métodos acima. (e espero que não sejam necessárias bandeiras para o uso ideal.)
Para usuários do emacs
.emacs
:
(server-start)
shellrc
:
export EDITOR=emacsclient
git config --global core.editor "emacs -nw"
git config --global core.editor "emacs -nw -q"
, onde o -q
ignora arquivos de inicialização.
Para seguir estas instruções no Windows, verifique se você instalou o Git for Windows . No Windows, eu gosto de usar o Git Bash para que pareça mais com o Linux.
Primeiro, queremos criar um projeto especial de Texto Sublime para poder especificar configurações especiais do projeto que desejamos definir sempre que o Git chama o editor, para facilitar as coisas ao editar no Git. Por exemplo, normalmente defino minha régua para 120 caracteres na maioria dos projetos, mas para as mensagens de confirmação do Git, quero que tenham 72 caracteres, para que caibam perfeitamente em um terminal quando você chama git log
ou git lg
.
Abra Sublime Text e vá para o menu "File" → "New Window" para criar um novo projeto anônimo. Vá para o menu "Projeto" → "Salvar projeto como ..." e escolha um local para salvá-lo. No Linux , salvei no meu diretório inicial do Linux com o nome do arquivo .gitconfig.sublime-project
. Seu caminho é portanto: ~/.gitconfig.sublime-project
. No Windows, salve-o também no seu diretório pessoal, por exemplo: C:\Users\MY_USER_NAME\.gitconfig.sublime-project
Agora vá ao menu "Projeto" → "Editar projeto" para editar as configurações do projeto. Cole o seguinte e salve as configurações. Faça outras edições nas 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":
[
]
}
Agora precisamos definir o editor para ser usado pelo Git, editando o .gitconfig
arquivo.
Sua cópia do usuário será localizada em ~/.gitconfig
. Abra este arquivo e adicione as seguintes linhas. Certifique-se de usar o nome do caminho apropriado para o projeto Git que você acabou de criar acima! Estou usando ~/.gitconfig.sublime-project
.
[core]
editor = subl --project ~/.gitconfig.sublime-project --wait
A --wait
é importante, uma vez que obriga Git esperar até que você feche o arquivo antes que ele continua. A --project
linha é importante para informar ao Sublime Text qual projeto você deseja abrir sempre que o Git abrir o Sublime Text.
De acordo com a resposta do @ digitaldreamer acima ( https://stackoverflow.com/a/2596835/4561887 ), " subl
pode ser substituído pelo caminho completo do executável, mas [o alias subl
] geralmente está disponível quando o [Sublime está] instalado corretamente".
Para Windows, leia primeiro as instruções do Linux para obter informações básicas. Agora faremos algo quase idêntico.
(OPCIONAL: crie um subl
alias para uso no Git Bash):
Abra um editor de texto (por exemplo, Bloco de notas, Notepad ++, Sublime Text, Geany etc.) e crie um arquivo chamado ".bash_profile" em seu diretório pessoal. Seu caminho será, portanto: C:\Users\MY_USER_NAME\.bash_profile
. Salve o seguinte nele:
alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"
Isso cria um alias do Git Bash chamado subl
que agora podemos usar no Git Bash para Windows para abrir facilmente o Sublime Text. Esta etapa não é necessária, mas é útil para o uso geral do Git Bash. Agora você pode chamar subl .
, por exemplo, o Git Bash para abrir um novo projeto de Texto Sublime em seu diretório atual.
(OBRIGATÓRIO):
Edite o .gitconfig
arquivo encontrado no diretório inicial:, C:\Users\MY_USER_NAME\.gitconfig
adicionando o seguinte. Observe as mudanças sutis nas instruções do Linux acima:
[core]
editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
/
NÃO \
para separar pastas no nome do caminho! (Obrigado VonC por me ajudar a ver isso ).subl
alias que criamos para o Git Bash acima não funciona aqui, então você não pode usá-lo como no exemplo do Linux. Em vez disso, você deve especificar o caminho inteiro, como mostrado acima.~
símbolo, no entanto, ainda funciona aqui para acessar o diretório inicial do Windows.Isso fornece destaque de sintaxe para as git commit
mensagens, além de acesso a outros comandos do Git, como git blame
(que eu uso frequentemente no Sublime Text) ou git commit
(que eu não uso no Sublime Text), já que eu preferiria a linha de comando para o Git geral como mencionei nos meus comentários abaixo desta resposta).
Para instalar um pacote: Primeiro, verifique se “Package Control” está instalado. Em seguida, pressione Ctrl+ Shift+ P(igual a Ferramentas → Paleta de comandos) e digite todo ou parte de “Controle de pacote: instalar pacote” e pressione Enter. Na caixa de pesquisa exibida, procure o pacote "Git" e clique Enternele, ou clique nele, para instalá-lo automaticamente.
Uma vez instalado, Ctrl+ Shift+ Pe a pesquisa por "git" exibirá os comandos do Git que você pode usar internamente no Sublime Text agora, como git blame
.
Agora, quando você chama git commit
, por exemplo, normalmente da linha de comando, o Sublime Text será aberto no .gitconfig.sublime-project
que criamos acima, com as configurações desse projeto! Ao digitar um parágrafo, você notará que ele ultrapassa a régua que definimos, já que a quebra automática de linha está desativada. Para forçar o invólucro rígido através de retornos rígidos inseridos automaticamente no final de cada linha, coloque o cursor na linha longa que deseja enrolar automaticamente e pressione Alt+ Q. Agora ele será dobrado / dobrado com 72 caracteres, que é o que definimos no parâmetro "réguas" das configurações do projeto acima.
Agora, salve sua mensagem de confirmação com Ctrl+ Se saia (para concluir sua git commit
) com Ctrl+ Shift+ W.
Feito!
Git Commit
tipo de sintaxe. Você pode pular a etapa "projeto de texto sublime" personalizada agora.
sublime
com git
e também usar, trim_trailing_white_space_on_save
deseja adicionar um alias para a adição de patches, pois a remoção do espaço em branco à direita interrompe as edições de patches, onde é muito significativo. Isto pode ser conseguido com algo como isto:git config --global alias.patch "-c core.editor=vim add --patch"
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"
--remote-wait-silent
para evitar a mensagem de erro feio :)
Para usuários do Windows que desejam usar o neovim com o Windows Subsystem for Linux:
git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"
Esta não é uma solução infalível, pois não lida com rebasing interativo (por exemplo). Melhorias muito bem-vindas!
Apenas tente EDITOR=vim git commit
.
Ou você pode configurar seu EDITOR para vim export EDITOR=vim
no bashrc.
git config --global core.editor "open -n -W -a TextWrangler"
Além disso, verifique se a configuração "TextWrangler> Preferências> Aplicativo> Quando o TextWrangler se torna ativo:" está definida como "Não fazer nada"
Isso funciona para mim no OS X 10.11.4 com o TextWrangler 5.0.2 da Mac App Store.
Explicação:
O -n significa aberto em uma nova instância.
O -W significa esperar até o aplicativo sair antes de usar o conteúdo do arquivo editado como a mensagem de confirmação.
O -a TextWrangler significa usar o aplicativo TextWrangler para abrir o arquivo.
Veja man open
em seu aplicativo Mac Terminal para mais detalhes.
git config --global core.editor "edit -w"
. Isso abrirá a mensagem de confirmação na instância atual e, assim que você fechar apenas este documento de mensagem de confirmação, a confirmação continuará.
Ao usar git-review
, tive que modificar o sequence.editor
valor para poder fazer rebase interativo ( git rebase -i -p
):
git config --global sequence.editor "gvim" # or whatever your prefer
gvim
exigir: apt install vim-gtk
Para o Mac OS X, use o TextEdit ou o editor ambiental natural para texto:
git config --global core.editor "open -W -n"
Só porque eu vim aqui procurando uma solução única (no meu caso, eu normalmente uso, vim
mas desta vez eu queria usar o VS Code) para um único comando e outros podem querer saber também:
GIT_EDITOR='code -w' git rebase -i …
Aqui está minha versão git
/ hub
apenas para contexto:
git version 2.24.2 (Apple Git-127)
hub version 2.14.1
Para usuários do IntelliJ
Quando eu estava tentando fazer o git rebase, estava recebendo o seguinte erro: 'dica: Aguardando o editor fechar o arquivo ... code -n -w: code: command not found error: Ocorreu um problema com o código do editor' -n -w '.'
O mesmo erro apareceu quando eu estava tentando associar o IntelliJ ao Git:
O problema era que eu não tinha o código de comando adicionado na variável PATH do meu ambiente. E eu não queria usar o Visual Studio Code no meu terminal. É por isso que solicitou "comando não encontrado". Eu resolvi isso excluindo
editor = código -n -w
na seção principal do meu arquivo .gitconfig. Git funcionou corretamente novamente.
Isso abre o editor de Textmate quando você deseja editar suas confirmações. Requer que as ferramentas de linha de comando textmate sejam instaladas.
git config --global core.editor "mate -w"
git config --global core.editor "/usr/local/bin/mate -w"
Crie um arquivo chamado 'k.sh', adicione o seguinte texto e coloque no seu diretório pessoal (~):
winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1
No prompt do git, digite:
git config --global core.editor ~/k.sh