Sublime TextをGitのデフォルトのエディターにするにはどうすればよいですか?


216

Sublime Text 2をcore.editorwith として設定する際に問題がありますgit

問題に対処するために見つけたすべての投稿を読みましたが、それでも何もうまくいきません。Windowsを実行しています。

私はやった:

git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'"

のようなさまざまな引数でそれを試してみました-m。私がを開いたとき.gitconfig、これはそこにあります:

[user]
    name = Spencer Moran
    email = smoran02@gmail.com
[core]
    editor = 'C:/Program Files/Sublime Text 2/sublime_text.exe'

Gitに移動して次のように入力すると、

README.markdown --edit

READMEファイルは、Sublime Textではなく、メモ帳で開きます。

誰かが私が間違っていることや、これをどのように修正できるか考えていますか?


11
cmd.exe のみ README.markdown --editで入力している場合gitは、まったく関与しません。これを機能させたい場合は、ウィンドウでファイルの関連付けを変更します。
Mat

1
以下のほとんどの回答の一般的な参考情報:-w「戻る前にファイルが閉じられるのを待つ」、「-n新しいウィンドウを開く」を意味します。出典:docs.sublimetext.info/en/latest/command_line/command_line.html
MarredCheese

:私のgitのエディタとして崇高なテキスト3を使用するための私のお気に入りの設定stackoverflow.com/questions/2596805/...
ガブリエル・ステープルズ

回答:


343

ウィンドウズ

Sublime Text 2(ビルド2181)

最新のビルド2181では、-w(待機)コマンドライン引数のサポートが追加されました。次の設定により、ST2がWindowsのデフォルトのgitエディターとして機能します。これにより、gitはコミットメッセージなどのためにST2を開くことができます。

git config --global core.editor "'c:/program files/sublime text 2/sublime_text.exe' -w"

Sublime Text 3(ビルド3065)

Sublime Text 3(ビルド3065)にsubl.exeコマンドラインヘルパーが追加されました。使用subl.exe -h可能なオプションに使用します。私が持っているhot_exit: trueremember_open_files: true私の崇高なテキストのユーザー設定で設定しました。私は私のためにうまく動作するようにgit configに以下を見つけました。

git config --global core.editor "'c:/program files/sublime text 3/subl.exe' -w"

MacおよびLinux

ターミナルで次のコマンドを入力して、SublimeをGitのエディターとして設定します。

git config --global core.editor "subl -n -w"


このGit構成では、新しいタブがエディターで開かれます。コミットメッセージを編集し、タブを保存(Ctrl+ S)して閉じます(Ctrl+ W)。

Gitは、タブが閉じられるまで待機して、作業を続行します。


14
個人的には、@ jrotelloが示唆するようにエディターを設定することに加えて、次のオプションをST2設定に追加すると、私のST2 / gitエクスペリエンスが大幅に向上しました:{"hot_exit":false、 "remember_open_files":false、 "close_windows_when_empty":true }
サンディ

6
@Phrogz:私はそれが次の構文で私の.gitconfigで働いてもらうことができました:editor = 'C:\\Program Files\\Sublime Text 2\\sublime_text.exe' -w
awayken

4
私にとって、崇高なテキストが既に開いている場合、これは新しいタブを開きます。タブを閉じても、gitに完了は通知されません。私は--multiinstanceを試しましたが、何もしません。
David Faivre 2013年

5
hot_exitがfalseで、ライトが消えたときは、保存されていないすべての作業がなくなることに注意してください!!!
ユルゲンポール

4
実際、 "-n -w"を使用しても、gitは崇高なテキストウィンドウが閉じていることを認識できないようです(少なくとも既存の崇高なウィンドウが開いている場合)。"-w --multiinstance"は依然として最適に機能しているようですが、新しい崇高なウィンドウで既存のタブが再び開かれます。無視しても問題ないようです。
David Faivre 2014年

94

このコマンドはMacおよびLinuxで使用できます。

git config --global core.editor "subl -n -w"

26
実際、最近のMacでの推奨は、sublを$ PATHのどこかにシンボリックリンクし、エディターを「subl -w」に設定することです。それは公式ドキュメントにあります。
サンディ

8
私が参照したドキュメントは次のとおり
Sandy

8
ドキュメントはを使用するようsubl -wに言っていますが、他のタブを開いている場合、これは正しく機能しません。subl -n -w新しいウィンドウが開くので、うまく機能することがわかりました。
ピアノ:2013

1
@iano行う場合は、タブを閉じるか、ウィンドウを閉じてコミットする必要がありますか?ウィンドウを閉じても機能しなかった
Karthik T

これにより、次の指示に従うまで、空のドキュメントがsublimetextで開かれます。sublimetext.com / docs / 3 / osx_command_line.htmlですが、パスをSublime Text.appからSublime Text 2.app
Evanss

14

Mac OS Xの場合、[core]の下の〜/ .gitconfigファイルにこのコードを入れて問題を解決する必要がありました。

editor = /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl  -n -w

これはsublが正常に動作していたが、gitがアクセスできなかったときのことです。そしてこれらのエラーを表示していました

subl -n -w: subl: command not found
error: There was a problem with the editor 'subl -n -w'.

11

以下のためのマック崇高テキスト3

git config --global core.editor "subl -n -w"機能しない場合は、次のgit configコマンドを使用します。

$ git config --global core.editor "'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' -n -w"

注:エスケープするバックスラッシュ含まれていませ


7

cygwin / zshで私のために働いたもの:

/ usr / local / binにsubl_gitファイルを作成します

#!/bin/bash
/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe -w -n `cygpath -w $@`

gitconfig:

editor = /usr/local/bin/subl_git

私の初心者の質問を許しませんが、どうすればgitconfigにアクセスできますか?これは実行中とは異なりgit config --listますか?前もって感謝します。
Ryan Chase

それはそれらをリストするだけです。あなたはgitconfigを編集する必要があります
meeech

ユーザーフォルダーにスペースがあったので、変更を使用しました"/cygdrive/c/Program Files/Sublime Text 3/subl.exe" -w -n "`cygpath -d -w "$@"`
Mark

6

Sublime Text 2と次の構成で、git commitのコメントファイルを閉じても何も起こらない場合:

git config --global core.editor "'c:/program files/sublime text 2/sublime_text.exe' -w"

SublimeでCOMMIT_EDITMSGコメントファイルを閉じるときにgitコミットが完了しない場合、CMDを管理者モードで実行している(そして非管理者モードでSublime Textが既に開かれている)ためと考えられます。同じ問題があり、CMDを通常モードで起動したときに問題なく動作しました。

追記:承認された回答のコメントで@davidが指摘した問題に答えたかったのですが、ここに来たばかりなのでコメントを投稿できませんでした...新しい回答を作成しました。問題に遭遇した一部の人々に役立ちます。


先端をありがとう。あなたは解決策を知っていますか?
スコットウェグナー

@ScottWegner回避策として、CMDを非管理者モードで起動してください。gitコマンドを実行するために管理モードである必要はありません。ただし、本当に管理モードにする必要がある場合は、別のCMDインスタンスを開く以外は、これに対する解決策が見つかりませんでした。
フランソワ

フォローアップありがとうございます。私の開発環境では他のツール(Visual Studio)に管理者モードが必要なので、昇格されたシェルができ、シェル全体を昇格して実行します。私はそれを必要とするツールを高めることだけを探求すると思います。
スコットウェグナー

1
@ScottWegner私は個人的にCmderを使用しています(フルバージョンにはmsysgitも含まれています)。タブ付きのユニークなウィンドウで、CMD、bash、または他のシェルの複数のインスタンスを許可します。一部のタブは管理者モードで起動し、他のタブは通常モードで起動できます。私は通常、git専用の1つのタブと、他のツール用の他のタブを持っています。多分あなたはそれを試してみることに興味があるでしょう。それは素晴らしいツールです!
フランソワ

再:管理者モード-私はトリックはあなたのシェルと崇高な人が同じ特権を使用する必要があるということだと思います。つまり、端末を昇格させて崇高な昇格も実行している場合、スムーズに動作します。
ジョセフイブンセン2018年

5

PowerShell(Windowsのコマンドラインツール。GithubforWindowsのデフォルトのコマンドラインとしても使用されます)を使用してうまく作成できました。

「C:\ Users \%username%\ My Documents」に「WindowsPowerShell」というフォルダを作成するだけです。次に、「profile.ps1」というファイルを作成します。ファイル拡張子が.txtではなく.ps1であることを確認してください。profile.ps1内に次の行を追加して、エイリアスコマンドを設定します。

Set-Alias subl 'c:\program files\sublime text 2\sublime_text.exe'

マシンの崇高なディレクトリが正しいことを確認してください。ここで設定の詳細を確認することもできます

次のように入力するだけで、PowerShellコマンドを介してSublime Text 2でファイルを編集できます。

subl filename

うまくいけば、これは便利です...


4
Sublime Text 2で現在のフォルダーを開くには、以下を使用できます。 subl .
awayken

崇高テキスト3の場合は、新しいsubl.exeを使用しますSet-Alias subl 'c:\program files\sublime text 3\subl.exe'
wtjones

3

今晩、Windowsのgitエディターで同じ問題に直面しましたが、ようやく問題が発生しました。

スペースを避けるためにbash構文でエディターパスを設定し、DOS 8.3形式を使用する必要があります

これは機能しません(私にとって):

git config --global core.editor "C://Program files/Sublime Text/sublime_text.exe"

これは行います:

git config --global core.editor /C/PROGRA~1/SUBLIME~1/sublime_text.exe

dir / xディレクトリの DOS 8.3名を取得できます


1

私は何らかの理由でこれに苦労していました、上記の例のどれも私のためにうまくいきませんでした。これが私の解決策でした:

 git config --global core.editor "'c:/<path to sublime>/sublime_text.exe' -w $*"

特に' '、パスの周りと$*引数の最後にあるすべてが必要" "です。


1

Macユーザーの場合は、次のようになります。

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

1

ええと、core.editorとして設定した後でも、gitbashからnotepad ++を呼び出すときに問題が発生しました。

以下の行をgitbashインストールディレクトリの.bashrcファイルに追加することで、すべて解決しました。

alias npp='winpty "C:/Program Files (x86)/Notepad++/notepad++.exe"'

そのため、エイリアス「npp」を使用してnotepad ++を呼び出すことができます。これは、使用するそれぞれのエディターにディレクトリを変更する場合に役立ちます。


1

MACユーザーの場合、Sublimeで次のように使用できます。

まず、次のコマンドを使用して.gitconfigファイルを確認します。

  1. cd ~
  2. ls -la
  3. cat .gitconfig

これで、この構成を追加できます。

git config --global core.editor "subl -n -wl1"

どこにl1行1で開始すること教えてくれます。


0

Windows 7の場合、次のソリューションが機能することがわかりました。

git config --global core.editor "C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe -n -w"

0

Windowsでgitをインストールしている場合は、他のエディターを選択して次のコマンドラインを入力できます。C:\ Program Files \ Sublime Text 3 \ sublime_text.exe -w インストーラー画像


0

私はWindowsに関する更新のインスタンスを見たことはありません。Gitのインストールで、元のオーバーライドコードのすべての構造と変更なしに、Sublime Textをデフォルトのテキストエディターとしてアクティブに選択できるようにしました... Gitの(再)インストールでオプションとして表示される崇高なテキスト


0

のMacOS(モハーベ)下記のために私のために働いている崇高3

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.