2015年9月更新(6年後)
git-for-Windows(2.5.3)の最後のリリースには、次のものが含まれています。
構成git config core.editor notepad
することnotepad.exe
により、ユーザーはデフォルトのエディターとして使用できるようになります。
構成git config format.commitMessageColumns 72
は、メモ帳ラッパーによってピックアップされ、ユーザーが編集した後にコミットメッセージを改行します。
Johannes Schindelin()によるcommit 69b301bを参照してください。dscho
また、Git 2.16(2018年第1四半期)は、エディターを起動したときにユーザーが編集を完了するのを待っていることをユーザーに通知するメッセージを表示します。
参照してくださいabfb04dコミット(2017年12月7日)、およびa64f213コミットすることにより(2017年11月29日)ラース・シュナイダーを(larsxschneider
)。
協力者:ジュニオC浜野(gitster
)。
(合併によりJunio C浜野- gitster
-で0c69a13コミットし、2017年12月19日)を
launch_editor()
:Gitがユーザー入力を待つことを示します
GIT_EDITOR
ユーザー入力(「git rebase -i
」など)を開いて待機するGitコマンドによってグラフィカルが生成されると、エディターウィンドウが他のウィンドウによって隠される場合があります。
ユーザーは、Gitを続行する前に別のウィンドウと対話する必要があることに気付かずに、元のGitターミナルウィンドウを見つめたままになっている可能性があります。このユーザーにとって、Gitはハングしているように見えます。
端末が最後の行の消去をサポートしている場合、Gitが元の端末でのエディター入力を待機していることを示すメッセージを出力し、エディターが戻ったときにそれを取り除きます
元の答え
私はちょうどそれをgitバージョン1.6.2.msysgit.0.186.gf7512とNotepad ++ 5.3.1でテストしました
私はEDITOR変数を設定する必要がないことを好むので、試しました:
git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\""
# or
git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\" %*"
それは常に与える:
C:\prog\git>git config --global --edit
"c:\Program Files\Notepad++\notepad++.exe" %*: c:\Program Files\Notepad++\notepad++.exe: command not found
error: There was a problem with the editor '"c:\Program Files\Notepad++\notepad++.exe" %*'.
私が含むnpp.batを定義すると:
"c:\Program Files\Notepad++\notepad++.exe" %*
そして私はタイプします:
C:\prog\git>git config --global core.editor C:\prog\git\npp.bat
DOSセッションからのみ機能しますが、git shellからは機能しません。
(core.editor設定メカニズムでは、「start /WAIT...
」を含むスクリプトは機能せず、新しいDOSウィンドウを開くだけです)
ベネットの答えは、スクリプトの追加を回避する可能性について言及していますが、単純な引用符でプログラム自体を直接参照しています。スラッシュの方向に注意してください!パス名でフォルダーを区切ら/
ないでください\
!
git config --global core.editor \
"'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
または、64ビットシステムの場合:
git config --global core.editor \
"'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
しかし、私はスクリプト(以下を参照)を使用することを好みます。そのようにして、再度登録しなくても、さまざまなパスまたはさまざまなオプションで遊ぶことができますgit config
。
(スクリプトを使用した)実際の解決策は、次の
こと/bin/sh
を理解することでした。構成ファイルで参照するのは、実際にはDOSスクリプトではなく、シェル()スクリプトです。
だから何が機能します:
C:\prog\git>git config --global core.editor C:/prog/git/npp.bat
とC:/prog/git/npp.bat
:
#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst "$*"
または
#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"
その設定で、git config --global --edit
DOSまたはGit Shell git rebase -i ...
から' 'を実行できます。または、DOSまたはGit Shellから' 'を実行できます。
ボットコマンドは、notepad ++の新しいインスタンス(したがって-multiInst
'オプション)をトリガーし、そのインスタンスが閉じるのを待ってから続行します。
「/」のみを使用し、「」は使用しないことに注意してください\
。そして、私はオプション2を使用してmsysgitをインストール(追加git\bin
のディレクトリに移動しPATH
ますが、いくつかは、組み込みのWindowsツール上書きせずに、環境変数)
notepad ++ラッパーが.batと呼ばれるという事実は重要ではありません。
'npp.sh'という名前を付けて、[git]\cmd
ディレクトリ(またはPATH環境変数で参照されるディレクトリ)に配置することをお勧めします。
以下も参照してください。
lightfire228はコメントに追加します:
Nは++だけで、あなたのコミットメッセージを取る見ていない空のファイルを開き、gitの問題を持つ人にとって「強制終了が原因空のメッセージにコミットする」:あなたの変更.bat
や.sh
ファイルの言うこと:
"<path-to-n++" .git/COMMIT_EDITMSG -<arguments>.
これにより、notepad ++は新しい空のファイルではなく一時コミットファイルを開くように指示されます。