Preferirei scrivere i miei messaggi di commit in Vim, ma li sta aprendo in Emacs.
Come configuro Git per usare sempre Vim? Nota che voglio farlo a livello globale, non solo per un singolo progetto.
Preferirei scrivere i miei messaggi di commit in Vim, ma li sta aprendo in Emacs.
Come configuro Git per usare sempre Vim? Nota che voglio farlo a livello globale, non solo per un singolo progetto.
Risposte:
Se vuoi impostare l'editor solo per Git, esegui una delle due operazioni (non hai bisogno di entrambe):
core.editor
nella tua configurazione Git:git config --global core.editor "vim"
GIT_EDITOR
variabile d'ambiente:export GIT_EDITOR=vim
Se vuoi impostare l'editor per Git e anche altri programmi , imposta le variabili standard VISUAL
e d' EDITOR
ambiente *:
export VISUAL=vim
export EDITOR="$VISUAL"
* L'impostazione di entrambi non è necessariamente necessaria, ma alcuni programmi potrebbero non utilizzare quelli più corretti VISUAL
. Vedere VISUAL
vs.EDITOR
.
Per testo sublime : aggiungi questo a .gitconfig
. Il --wait
è importante (permette di digitare il testo in sublime e rimarrà in attesa di salvataggio / evento close.)
[core]
editor = 'subl' --wait
'subl' può essere sostituito dal percorso completo dell'eseguibile ma di solito è disponibile se installato correttamente.
git config --global
scriverebbe sul tuo file di configurazione git personale (per utente). Su Unices lo è ~/.gitconfig
. Quindi questo lo configurerebbe per tutti i tuoi repository.
git commit --amend
-w
non è necessario; -w {scriptout}
salva tutti i caratteri digitati durante la modifica per poterli riprodurre successivamente. Forse lo stai confondendo -f
, il che è necessario quando chiami la versione GUI di Vim. Cioè, se si utilizza mvim
, l'editor che si specifica dovrebbe essere mvim -f
piuttosto che mvim
.
Copia incolla questo:
git config --global core.editor "vim"
Nel caso in cui desideri sapere cosa stai facendo. Da man git-commit
:
VARIABILI DI AMBIENTE E CONFIGURAZIONE
L'editor utilizzato per modificare il messaggio del registro di commit verrà scelto dalla
GIT_EDITOR
variabile di ambiente, dallacore.editor
variabile di configurazione, dallaVISUAL
variabile di ambiente o dallaEDITOR
variabile di ambiente (in quell'ordine).
VISUAL
o EDITOR
, ma certamente non usano GIT_EDITOR
o core.editor
.
Su Ubuntu e anche Debian (grazie a @MichielB) è anche possibile modificare l'editor predefinito eseguendo:
sudo update-alternatives --config editor
Ciò richiederà quanto segue:
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 è un modo molto più semplice per gestire le impostazioni predefinite per i tipi di programma supportati. Per riferimento: debian-administration.org/article/91/…
GIT_EDITOR
e EDITOR
non funziona --ubuntu
update-alternatives
mostrerà tutti gli editor installati. Koen non ha Emacs installato.
In Windows 7, mentre aggiungevo l'editor "Sublime", continuavo a darmi un errore:
Annullamento del commit a causa del messaggio di commit vuoto.
Sublime non è stato in grado di mantenere la concentrazione.
Per risolvere questo problema, ho aperto il file .gitconfig nella cartella c: / users / username / e ho aggiunto la seguente riga con l'opzione --wait al di fuori delle doppie virgolette.
[core]
editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait
Spero che sia utile a qualcuno che affronta un problema simile con 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 premi Enter
. Si aprirà Notepad ++.-multiInst
come parametro a notepad ++ e possibilmente -notabbar
. Fallo se Git non sembra sapere quando hai finito di modificare il file e aspetta per sempre o per niente.
>git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"'
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar
- che è, al di fuori dei params delimitano virgolette singole
Per rendere Visual Studio Code (vscode) il tuo editor git predefinito
git config --global core.editor "code --wait"
E se stai lavorando con i designer usando la riga di comando, allora Pico e non conosci scorciatoie;)
git config --global core.editor "pico"
O
export VISUAL=pico
export EDITOR=pico
git config --global core.editor "atom --wait"
Atom deve essere configurato per essere eseguito dalla riga di comando affinché funzioni sopra:
OS X : installa comandi shell da Atom: barra dei menu> Atom> Installa comandi Shell
Windows : nessuna azione richiesta - atom è configurato per essere eseguito dalla riga di comando per impostazione predefinita
Esegui questo comando:
$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"
O semplicemente:
$ git config --global core.editor "subl -w"
-w
parametro. Per esempio. $ git config --global core.editor "code -w"
. Roba ordinata
git config --global core.editor notepad.exe
Premi Ctrl+S per salvare il messaggio di commit. Per scartare, basta chiudere la finestra del blocco note senza salvare.
Nel caso in cui si preme il collegamento per il salvataggio, quindi si decide di interrompere, andare su File-> Salva con nome e, nella finestra di dialogo che si apre, cambiare "Salva come tipo" in "Tutti i file (*. *)". Vedrai un file chiamato "COMMIT_EDITMSG". Eliminalo e chiudi la finestra del blocco note.
Modifica: in alternativa, e più facilmente, elimina tutti i contenuti dalla finestra del blocco note aperta e premi Salva. (grazie mwfearnley per il commento!)
Penso che per piccoli write-up come il promemoria dei messaggi il blocco note sia il migliore, perché è semplice, è lì con Windows, si apre in pochissimo tempo. Anche il tuo sublime potrebbe impiegare un secondo o due per essere acceso quando hai un carico di plugin e roba.
\r\n
(newline in Windows) e \n
(newline in linux, anch'esso predefinito per Git).
core.editor = 'notepad' .git/COMMIT_EDITMSG --wait
modo in modo che si apra e salvi il messaggio di modifica predefinito e non è necessario "salva come"
Questo fornisce una risposta per le persone che arrivano a questa domanda che potrebbero voler collegare un editor diverso da VIM.
È probabile che la risorsa collegata, di Github , sia mantenuta aggiornata, quando gli editor vengono aggiornati, anche se le risposte su SO (incluso questo) non lo sono.
Associare editor di testo a git
Il post di Github mostra esattamente cosa digitare nella riga di comando per vari editor, comprese le opzioni / flag specifiche per ciascun editor affinché funzioni meglio con git.
Notepad ++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Testo sublime:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"
Atomo:
git config --global core.editor "atom --wait"
I comandi sopra presuppongono che l'editor sia stato installato nella directory predefinita per un computer Windows.
I comandi in sostanza aggiungono il testo tra virgolette doppie .gitconfig
nella tua home directory.
È probabile che su una macchina Windows sia la casa C:\Users\your-user-name
, dove il tuo nome utente è il tuo nome di accesso.
Dalla riga di comando, è possibile raggiungere questa directory digitandocd ~
.
ad esempio, un comando sopra sarebbe aggiungere la seguente riga nella [core]
sezione in questo modo:
[core]
editor = 'C:/Program Files/sublime text 3/subl.exe' -w
Se hai un editor diverso, sostituiscilo semplicemente con il percorso del tuo editor, usando uno dei metodi sopra. (e spero che non siano necessarie bandiere per un utilizzo ottimale.)
Per gli utenti di emacs
.emacs
:
(server-start)
shellrc
:
export EDITOR=emacsclient
git config --global core.editor "emacs -nw"
git config --global core.editor "emacs -nw -q"
, dove -q
salta i file di inizializzazione.
Per seguire queste istruzioni in Windows assicurati di aver installato Git per Windows . In Windows, mi piace usare Git Bash in modo che sembri più simile a Linux.
Innanzitutto, vogliamo creare uno speciale progetto Sublime Text in modo da poter specificare le impostazioni speciali del progetto che vogliamo impostare ogni volta che Git chiama l'editor, per semplificare le cose durante la modifica in Git. Ad esempio, di solito imposto il mio righello su 120 caratteri nella maggior parte dei progetti, ma per i messaggi di commit di Git voglio che sia di 72 caratteri in modo che si adatti perfettamente a un terminale quando chiami git log
o git lg
.
Apri Sublime Text e vai al menu "File" → "Nuova finestra" per creare un nuovo progetto anonimo. Vai al menu "Progetto" → "Salva progetto con nome ..." e scegli un luogo in cui salvarlo. In Linux l' ho salvato nella mia directory home Linux con il nome del file .gitconfig.sublime-project
. Il suo percorso è dunque: ~/.gitconfig.sublime-project
. In Windows salvalo anche nella tua home directory, ad esempio: C:\Users\MY_USER_NAME\.gitconfig.sublime-project
ora vai al menu "Progetto" → "Modifica progetto" per modificare le impostazioni del progetto. Incolla quanto segue e salva le impostazioni. Se lo desideri, apporta ulteriori modifiche alle impostazioni del tuo progetto.
{
// 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":
[
]
}
Ora dobbiamo impostare l'editor che verrà utilizzato da Git, modificando il .gitconfig
file.
La tua copia utente di questo si troverà in ~/.gitconfig
. Apri questo file e aggiungi le seguenti righe. Assicurati di usare il nome del percorso corretto per il progetto Git che hai appena creato sopra! Sto usando ~/.gitconfig.sublime-project
.
[core]
editor = subl --project ~/.gitconfig.sublime-project --wait
Il --wait
è importante, in quanto costringe Git aspettare fino a quando si chiude il file prima di continuare su. La --project
linea è importante per dire a Sublime Text quale progetto vuoi aprire ogni volta che Git apre Sublime Text.
La risposta di Per @ digitaldreamer sopra ( https://stackoverflow.com/a/2596835/4561887 ), " subl
può essere sostituita dal percorso completo dell'eseguibile ma [l'alias subl
] è generalmente disponibile quando [Sublime] è installato correttamente".
Per Windows, leggi prima le istruzioni di Linux per informazioni di base. Ora faremo qualcosa di quasi identico.
(OPZIONALE: crea un subl
alias da utilizzare in Git Bash):
Apri un editor di testo (ad esempio Blocco note, Blocco note ++, Sublime Text, Geany , ecc.) E crea un file chiamato ".bash_profile" nella tua home directory. Il suo percorso sarà quindi: C:\Users\MY_USER_NAME\.bash_profile
. Salva quanto segue in esso:
alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"
Questo crea un alias Git Bash chiamato subl
che ora possiamo usare in Git Bash per Windows, per aprire facilmente Sublime Text. Questo passaggio non è necessario, ma è utile per l'uso generale di Git Bash. Ora puoi chiamare subl .
, ad esempio, in Git Bash per aprire un nuovo progetto di testo sublime nella tua directory corrente.
(OBBLIGATORIO):
Modifica il .gitconfig
file trovato nella tua home directory C:\Users\MY_USER_NAME\.gitconfig
:, aggiungendo quanto segue ad esso. Nota le sottili modifiche dalle istruzioni di Linux sopra:
[core]
editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
/
NOT \
per separare le cartelle nel nome del percorso! (Grazie VonC per avermi aiutato a vedere questo ).subl
alias che abbiamo creato per Git Bash sopra non funziona qui, quindi non puoi usarlo come abbiamo fatto nell'esempio Linux, invece devi specificare l'intero percorso come mostrato sopra.~
simbolo, tuttavia, funziona ancora qui per accedere alla directory principale di Windows.Questo ti dà l'evidenziazione della sintassi per i git commit
messaggi, così come l'accesso ad altri comandi Git come git blame
(che uso frequentemente in Sublime Text) ogit commit
(che non utilizzo in Sublime Text poiché preferirei la riga di comando per Git generale flusso, come ho già detto nei miei commenti sotto questa risposta).
Per installare un pacchetto: in primo luogo, assicurarsi che sia installato "Controllo pacchetto". Quindi, premi Ctrl+ Shift+ P(come Strumenti → Tavolozza comandi) e digita tutto o parte di "Controllo pacchetto: Installa pacchetto", quindi premi Enter. Nella casella di ricerca che viene visualizzata, cerca il pacchetto "Git" e premiEnter su di esso, o fai clic su di esso, per installarlo automaticamente.
Una volta installato, Ctrl+ Shift+ Pquindi la ricerca di "git" farà apparire i comandi Git che puoi usare internamente all'interno di Sublime Text ora, come ad esempio git blame
.
Ora, quando chiami git commit
, ad esempio, come di consueto dalla riga di comando, Sublime Text si aprirà nel file .gitconfig.sublime-project
creato sopra, con le impostazioni di quel progetto! Mentre digiti un paragrafo noterai che si estende oltre il righello che abbiamo impostato poiché la parola a capo automatico è disattivata. Per forzare il ritorno a capo tramite i ritorni a capo inseriti automaticamente alla fine di ogni riga, posiziona il cursore sulla riga lunga che desideri avvolgere automaticamente e premi Alt+ Q. Ora sarà a capo / a capo con 72 caratteri, che è ciò che abbiamo impostato nel parametro "righelli" delle impostazioni del progetto sopra.
Ora, salva il tuo messaggio di commit con Ctrl+ Se esci (per completare il tuo git commit
) con Ctrl+ Shift+W .
Fatto!
Git Commit
tipo di sintassi. Ora puoi saltare il passaggio "progetto testo sublime" personalizzato.
sublime
con git
e si utilizza anche trim_trailing_white_space_on_save
si desidera aggiungere un alias per l'aggiunta di patch perché la rimozione di spazi bianchi finali interrompe le modifiche delle patch in cui è molto significativo. Ciò può essere ottenuto con qualcosa del genere:git config --global alias.patch "-c core.editor=vim add --patch"
Come tutte le altre applicazioni della GUI, devi avviare mvim con il flag wait.
git config --global core.editor "mvim --remote-wait"
--remote-wait-silent
per evitare brutti messaggi di errore :)
Per gli utenti Windows che desiderano utilizzare Neovim con il sottosistema Windows per Linux:
git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"
Questo non lo è una soluzione a prova di errore in quanto non gestisce il rebasing interattivo (ad esempio). Miglioramenti molto graditi!
Prova EDITOR=vim git commit
.
Oppure puoi impostare il tuo EDITOR su VIM export EDITOR=vim
nella tua bashrc.
git config --global core.editor "open -n -W -a TextWrangler"
Inoltre, assicurati che l'impostazione "TextWrangler> Preferenze> Applicazione> Quando TextWrangler diventa attivo:" è impostata su "Non fare nulla"
Questo funziona per me su OS X 10.11.4 con TextWrangler 5.0.2 dal Mac App Store.
Spiegazione:
Il -n mezzi aprono in una nuova istanza.
Il -W mezzi aspettare fino alla chiusura dell'applicazione prima di utilizzare il contenuto del file modificato come messaggio di commit.
Il -a TextWrangler mezzi utilizzano l'applicazione TextWrangler per aprire il file.
Vedi man open
nella tua app Terminale Mac per maggiori dettagli.
git config --global core.editor "edit -w"
. Questo aprirà il messaggio di commit nell'istanza corrente e non appena chiuderai solo questo documento del messaggio di commit, il commit continuerà.
Durante l'utilizzo git-review
ho dovuto modificare il sequence.editor
valore per poter eseguire rebase interattivo ( git rebase -i -p
):
git config --global sequence.editor "gvim" # or whatever your prefer
gvim
richiedere: apt install vim-gtk
Per Mac OS X, usando TextEdit o l'editor ambientale naturale per il testo:
git config --global core.editor "open -W -n"
Solo perché sono venuto qui alla ricerca di una soluzione una tantum (nel mio caso, di solito lo uso, vim
ma questa volta volevo usare il codice VS) per un singolo comando e altri potrebbero voler sapere anche:
GIT_EDITOR='code -w' git rebase -i …
Ecco la mia git
/ hub
versione solo per contesto:
git version 2.24.2 (Apple Git-127)
hub version 2.14.1
Per utenti IntelliJ
Quando stavo cercando di git rebase stavo ottenendo il seguente errore: 'suggerimento: in attesa del tuo editor per chiudere il file ... codice -n -w: codice: comando non trovato errore: si è verificato un problema con il codice dell'editor -n -w '.'
Lo stesso errore si è presentato quando stavo cercando di associare IntelliJ a Git:
Il problema era che non avevo aggiunto il codice comando nella variabile PATH del mio ambiente. E non volevo usare Visual Studio Code dal mio terminale. Ecco perché ha richiesto "comando non trovato". Ho risolto questo eliminando
editor = codice -n -w
dalla sezione principale nel mio file .gitconfig. Git ha funzionato di nuovo correttamente.
Questo apre l'editor di Textmate quando vuoi modificare i tuoi commit. Richiede l'installazione degli strumenti della riga di comando di textmate.
git config --global core.editor "mate -w"
git config --global core.editor "/usr/local/bin/mate -w"
Crea un file chiamato 'k.sh', aggiungi il seguente testo e posizionalo nella tua home directory (~):
winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1
Al prompt di git digitare:
git config --global core.editor ~/k.sh