web-dev-qa-db-ja.com

どのようにGitにコミットのために私の選んだエディタを使わせるのですか?

私は自分のコミットメッセージをVimで書くことを望みますが、それはEmacsでそれらを開くことです。

Gitが常にVimを使うように設定するにはどうすればいいですか?単一のプロジェクトだけでなく、これをグローバルに実行したいことに注意してください。

2179
brasskazoo

Gitにエディタonlyを設定したい場合は、次のいずれかを行います(両方とも必要はありません)。

  • Gitの設定で core.editor を設定してください:git config --global core.editor "vim"
  • GIT_EDITOR 環境変数を設定します。export GIT_EDITOR=vim

Git および他のプログラムのエディタを設定したい場合は、標準化されたVISUALEDITOR環境変数*を設定してください。

export VISUAL=vim
export EDITOR="$VISUAL"

*両方を設定する必要は必ずしもありませんが、プログラムによってはもっと正しいVISUALを使用しないかもしれません。 VISUAL vs. EDITOR を参照してください。


Sublime Textの場合 :これを.gitconfigに追加します。 --waitは重要です。 (それは崇高でテキストをタイプすることを可能にして、そして保存/閉じるイベントを待ちます。

[core]
    editor = 'subl' --wait

'subl'は実行可能ファイルのフルパスに置き換えることができますが、通常は正しくインストールされている場合に使用可能です。

3036
digitaldreamer

これをコピーペーストする:

git config --global core.editor "vim"

あなたがしていることを知りたいのならば。 man git-commitから:

環境と設定変数

コミットログメッセージの編集に使用されるエディタは、GIT_EDITOR環境変数、core.editor設定変数、VISUAL環境変数、またはEDITOR環境変数の順に選択されます。

525
Mark Rushakoff

UbuntuやDebian(@MichielBに感謝)では、デフォルトのエディタを変更することも可能です。

Sudo update-alternatives --config editor

これは以下を促します。

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: 
169
Koen.

Windows 7では、 "Sublime"エディタを追加している間、まだエラーが発生していました。

コミットメッセージが空のため、コミットを中止します。

崇高は焦点を合わせることができませんでした。

これを修正するために、c:/ users/username /フォルダーにある.gitconfigファイルを開き、二重引用符の外側に--waitオプションを付けて次の行を追加しました。

[core]
      editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait

Sublimeと同様の問題に直面している誰かにその役に立つことを願っています。

59
Anmol Saraf

Windows 7では、エディタをNotepad ++に設定

  • 任意のテキストエディタを開きます。
  • このファイルを開きます:C:\Users\YOUR_USERNAME\.gitconfig
  • このセクションを一番下に追加します。

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • ファイルを保存して閉じます。
  • Gitでコミットしたら、git commitと書いてEnterを押すだけです。 Notepad ++が開きます。
  • コミットメッセージをファイルの先頭に書いて、ファイルを保存して閉じます。完了しました。
52
Ryan

Visual Studioコード(vscode)をデフォルトのgitエディタにするには

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

そして、あなたがコマンドラインを使ってデザイナーと仕事をしているなら、Pico、そして近道を知らないでください;)

git config --global core.editor "pico"

または

export VISUAL=pico
export EDITOR=pico
22
tristanbailey

Mac OSX 10でSublime Text 2をGitコミットエディタとして設定する

このコマンドを実行してください。

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

あるいは単に:

$ git config --global core.editor "subl -w"
17
Mohsen

あなたのgitエディタとしてのAtom

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

上記のように動作させるには、Atomをコマンドラインから実行するように設定する必要があります。

OS X :Atomからシェルコマンドをインストールする:メニューバー> Atom>シェルコマンドのインストール

Windows :対処不要 - atomはデフォルトでコマンドラインから実行するように設定されています

15
2Toad

Windows:デフォルトのコミットメッセージエディタとしてメモ帳を設定

git config --global core.editor notepad.exe

ヒット Ctrl+S コミットメッセージを保存します。破棄するには、保存せずにメモ帳ウィンドウを閉じるだけです。

ショートカットをクリックして保存した後で、ファイル - >名前を付けて保存を選択し、開いたダイアログで[ファイルの種類]を[すべてのファイル(*。*)]に変更します。 "COMMIT_EDITMSG"という名前のファイルが表示されます。削除して、メモ帳ウィンドウを閉じます。

編集:または、もっと簡単に、開いているメモ帳ウィンドウからすべての内容を削除して、保存をクリックします。 (ありがとう mwfearnley コメントありがとうございます!)

コミットメッセージのような小さな書き込みでは、メモ帳が最も効果的です。シンプルで、ウィンドウがあるので、すぐに開くからです。あなたのプラグインやものがたくさんあるとき、あなたの崇高な人でさえも起動するのに1秒か2秒かかるかもしれません。

10

Emacsユーザーのために

.emacs

(server-start)

shellrc

export EDITOR=emacsclient
9
Bendlas

あなたのgitエディタとしてのSublime Text 3のための最良の設定(WindowsとLinuxの指示):

Windowsでこれらの指示に従うには、 Windows用git がインストールされていることを確認してください。 Windowsでは、Git BASHを使用してLinuxのように感じさせるようにします。

まず、gitがエディターを呼び出すたびに設定したい特別なプロジェクト設定を指定できるように、特別なSublime Textプロジェクトを作成します。これにより、gitで編集するときの作業が簡単になります。例えば、私は通常ほとんどのプロジェクトで私の支配者を120文字に設定していますが、git commitメッセージでは72文字にして、git loggit lg を呼び出したときにうまく収まるようにします。


1. git commitメッセージを編集するために使用したい設定でSublime Textプロジェクトを作成します。

Sublime Textを開き、 "File" - > "New Window"を選択して新しい匿名プロジェクトを作成します。 [プロジェクト] - > [プロジェクトに名前を付けて保存...]に移動して、保存場所を選択します。 Linuxではファイル名.gitconfig.sublime-projectで自分のLinuxホームディレクトリに保存しました。したがって、そのパスは~/.gitconfig.sublime-projectです。 Windowsでもホームディレクトリに保存してください。例:C:\Users\MY_USER_NAME\.gitconfig.sublime-projectさてプロジェクト設定を編集するために "Project" - > "Edit Project"に行きます。以下を貼り付けて設定を保存します。必要に応じて、プロジェクト設定をさらに編集します。

{
    //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. gitが使用するエディタを設定します

.gitconfigファイルを編集して、gitで使用されるエディタを設定する必要があります。

Linuxの場合

これのあなたのコピーは~/.gitconfigにあります。このファイルを開き、以下の行を追加してください。 上記で作成したgitプロジェクトへの正しいパス名を必ず使用してください!私は~/.gitconfig.sublime-projectを使用しています。

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

--waitは、継続する前にファイルを閉じるまでgitを待たせるので重要です。 --project行は、gitがSublimeを開くたびに、どのプロジェクトを開くかをSublime Textに指示するために重要です。

上記の@ digitaldreamerの回答( https://stackoverflow.com/a/2596835/4561887 )によると、 "sublは実行可能ファイルのフルパスに置き換えることができますが、[エイリアスsubl]は通常、次の場合に使用できます。 「Sublimeは正しくインストールされています。」

Windowsの場合

Windowsの場合は、まずLinuxの説明を読んで背景情報を確認してください。それでは、ほぼ同じことをします。

(オプション:Git BASHで使用するためのsublエイリアスを作成します):

テキストエディタ(例:メモ帳、メモ帳++、Sublime Text、Geanyなど)を開き、ホームディレクトリに ".bash_profile"というファイルを作成します。したがって、そのパスはC:\Users\MY_USER_NAME\.bash_profileになります。以下を保存してください。

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

これでsublというGit BASHエイリアスが作成され、これをGit BASH for Windowsで使用してSublimeを簡単に開くことができます。このステップは必須ではありませんが、一般的なGit BASHの使用に役立ちます。たとえばGit BASHでsubl .を呼び出して、現在のディレクトリに新しいSublimeプロジェクトを開くことができます。

(必須):

以下を追加して、ホームディレクトリ.gitconfigにあるC:\Users\MY_USER_NAME\.gitconfigファイルを編集します。上記のLinuxの指示からの微妙な変更に注意してください。

[core]
  editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
  • Sublime Text実行可能ファイルへのフルパスを指定する必要があることに注意してください。 スラッシュの方向に注意してください!パス名でフォルダーを区切るには、/ NOT \を使用してください。 (ありがとうVonC 私がこれを見やすくするために )。
  • 上記のGit BASH用に作成したsublのエイリアスはここでは機能しないため、Linuxの例で行ったように使用することはできません。代わりに、上に示すようにパス全体を指定する必要があります。
  • ~シンボルは、あなたのWindowsホームディレクトリにたどり着くためにここでまだ働きます。

2.5。 (オプション)「Git」パッケージをSublime Text 3にインストールします。

これにより、git commitメッセージの構文の強調表示、およびgit blame(私はSublime Textで頻繁に使用します)やgit commit(私はSublime Textでは使用しません)などの他のgitコマンドにアクセスできます。私はこの答えの下の私のコメントで述べたように、一般的なGitフローのために)。

パッケージをインストールするには:まず、 "Package Control"がインストールされていることを確認してください。次にを押します Ctrl + Shift + P (Tools→Command Paletteと同じ)そして“ Package Control:Install Package”の全部または一部を入力し、そしてEnterを押す。表示された検索ボックスで、パッケージ "Git"を検索してEnterを押すか、クリックすると自動的にインストールされます。

インストールしたら、 Ctrl + Shift + P 「git」を検索すると、git blameのように、Sublime Textの内部で現在使用できるgitコマンドが表示されます。


それを使用

たとえば、コマンドラインから通常どおりにgit commitを呼び出すと、そのプロジェクトの設定で、Sublime Textが上で作成した.gitconfig.sublime-projectに開きます。段落を入力すると、ソフトな折り返しがオフになっているため、設定した定規を超えて段落が広がっていることがわかります。 各行の終わりに自動挿入されたハードリターンを介してハードラップを強制するには、自動ラップしたい長い行にカーソルを置き、を押します。 Alt + Q72文字で折り返し/折り返しますが、これは上記のプロジェクト設定の「ルーラー」パラメータで設定したものです。

では、コミットメッセージを保存しましょう。 Ctrl + Sで終了して(git commitを完成させるため) Ctrl + Shift + W

完了しました。

7
Gabriel Staples

これはこの質問にたどり着いた人にvim以外の編集者をリンクさせたいと思うかもしれない答えを提供します。

リンクされたリソースは Github によって、SO(これも含む)の回答が更新されていなくても、エディタが更新されるときに最新の状態に保たれる可能性があります。

テキストエディタとgitの関連付け

Githubの投稿には、gitで最適に機能するために各エディターに固有のオプション/フラグを含め、さまざまなエディターのためにあなたのコマンドラインに何をタイプインするべきかが正確に示されています。

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

崇高なテキスト:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"

原子:
git config --global core.editor "atom --wait"

上記のコマンドはあなたのエディタがウィンドウズマシンのためのデフォルトディレクトリにインストールされていると仮定します。

これらのコマンドは基本的に、二重引用符で囲まれたテキストをホームディレクトリの.gitconfigに追加します。
windowsの場合、自宅はC:\Users\your-user-nameになるでしょう。ここで、your-user-nameはあなたのログイン名です。
コマンドラインからcd ~と入力するとこのディレクトリにたどり着きます。

たとえば、上記のコマンドは、[core]セクションの下に次の行を追加します。
[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w

別のエディタを使用している場合は、上記のいずれかの方法を使用して、自分のエディタへのパスに置き換えるだけです。 (そして最適な使用法のためにフラグが必要とされないことを望みます。)

5
SherylHohman

あなたのgitエディタとしてのMvim

他のすべてのGUIアプリケーションと同様に、waitフラグを付けてmvimを起動する必要があります。

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

Linux用Windowsサブシステムで neovim を使用したいWindowsユーザーの場合:

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

対話型のリベースを処理しないので、これは not 愚かな解決策です。改善は大歓迎です!

2
brcolow

git-reviewを使うとき、私は対話的なリベースをすることができるようにsequence.editor値を修正しなければなりませんでした(git rebase -i -p):

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

gvim require:apt install vim-gtk

参考文献

1
Édouard Lopez

MacアプリストアのTextWranglerのユーザーのために:

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

また、「TextWrangler>設定>アプリケーション> TextWranglerがアクティブになったとき」の設定を「何もしない」に設定してください

これは、Mac App StoreのTextWrangler 5.0.2を搭載したOS X 10.11.4で動作します。

説明:

-n は、新しいインスタンスで開くことを意味します。

-W は、編集されたファイルの内容をコミットメッセージとして使用する前に、アプリケーションが終了するまで待つことを意味します。

-a TextWrangler は、TextWranglerアプリケーションを使用してファイルを開くことを意味します。

詳細については、Mac Terminalアプリのman openを参照してください。

1
DLRdave

EDITOR=vim git commitを試してください。

あるいは、あなたの編集者があなたのbashrcでexport EDITOR=vimによってvimするように設定することもできます。

1
Xiao Hanyu