コミットメッセージをVimで記述したいのですが、Emacsで開いています。
常にVimを使用するようにGitを構成するにはどうすればよいですか?これを単一のプロジェクトだけでなく、グローバルに行いたいことに注意してください。
コミットメッセージをVimで記述したいのですが、Emacsで開いています。
常にVimを使用するようにGitを構成するにはどうすればよいですか?これを単一のプロジェクトだけでなく、グローバルに行いたいことに注意してください。
回答:
エディターをGit 専用に設定する場合は、どちらかを実行します(両方は必要ありません)。
core.editor
Git構成で設定します。git config --global core.editor "vim"
GIT_EDITOR
環境変数を設定します。export GIT_EDITOR=vim
Git およびその他のプログラムのエディターを設定する場合は、標準化された変数VISUAL
とEDITOR
環境変数を設定します*:
export VISUAL=vim
export EDITOR="$VISUAL"
*両方を設定する必要は必ずしもありませんが、プログラムによっては、より正確なを使用できない場合がありますVISUAL
。VISUAL
対をEDITOR
参照してください。
崇高なテキストの場合:これをに追加し.gitconfig
ます。これ--wait
は重要です(崇高にテキストを入力でき、保存/閉じるイベントを待機します)。
[core]
editor = 'subl' --wait
'subl'は実行可能ファイルの完全パスで置き換えることができますが、通常は正しくインストールされている場合に使用できます。
git config --global
個人用(ユーザーごと)のgit構成ファイルに書き込むことに注意してください。Unicesではそうです~/.gitconfig
。したがって、これはすべてのリポジトリに対して設定します。
git commit --amend
-w
は必要ありません。-w {scriptout}
編集時に入力したすべての文字を保存して後で再生します。おそらく、あなたがそれを混乱さ-f
れ、あるのVimのGUIバージョンを呼び出すときに必要。つまり、を使用する場合mvim
、指定するエディタはでmvim -f
はなくにする必要がありmvim
ます。
これをコピーして貼り付け:
git config --global core.editor "vim"
あなたが何をしているか知りたい場合。からman git-commit
:
環境変数と構成変数
コミットログメッセージの編集に使用されるエディターは、
GIT_EDITOR
環境変数、core.editor
構成変数、VISUAL
環境変数、またはEDITOR
環境変数から(この順序で)選択されます。
VISUAL
orを使用する可能性がありますEDITOR
が、GIT_EDITOR
or は使用しませんcore.editor
。
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:
alternatives
システムは、サポートされているプログラムタイプのデフォルトを管理するはるかに簡単な方法です。:参考のためdebian-administration.org/article/91/...
GIT_EDITOR
とEDITOR
--ubuntu動作しない
update-alternatives
は、インストールされているすべてのエディターを表示します。KoenにはEmacsがインストールされていません。
Windows 7では、「Sublime」エディターを追加しているときに、エラーが発生していました。
空のコミットメッセージによりコミットを中止します。
Sublimeはフォーカスを維持できませんでした。
これを修正するには、c:/ users / username /フォルダーで.gitconfigファイルを開き、二重引用符の外側に--waitオプションを指定して次の行を追加しました。
[core]
editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait
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
を押してくださいEnter
。Notepad ++が開きます。-multiInst
パラメータとしてNotepad ++とおそらくは追加する必要があるかもしれません-notabbar
。ファイルの編集がいつ終了したかをgitが認識していないようで、永久に待機するかまったく待機しない場合は、これを行ってください。
>git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"'
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar
-つまり、区切り
次のコマンドを実行します。
$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"
あるいは単に:
$ git config --global core.editor "subl -w"
-w
パラメータをサポートしています。例えば。$ git config --global core.editor "code -w"
。きちんとしたもの
git config --global core.editor notepad.exe
ヒットCtrl+ Sあなたのコミットメッセージを保存します。破棄するには、保存せずにメモ帳ウィンドウを閉じます。
保存のショートカットを押してから中止することにした場合は、[ファイル]→[名前を付けて保存]に移動し、開いたダイアログで[ファイルの種類]を[すべてのファイル(*。*)]に変更します。「COMMIT_EDITMSG」という名前のファイルが表示されます。それを削除し、メモ帳ウィンドウを閉じます。
編集:または、より簡単に、開いているメモ帳ウィンドウからすべての内容を削除し、保存をクリックします。(コメントをありがとうmwfearnley!)
コミットメッセージなどの小さな書き込みの場合は、メモ帳が最適です。シンプルで、ウィンドウがあり、すぐに開くからです。プラグインやその他のものをロードしていると、崇高なものでさえ、起動するのに1、2秒かかる場合があります。
\r\n
(Windowsの改行)と\n
(Linuxの改行、Gitのデフォルトでもある)に関係していると推測しています。
core.editor = 'notepad' .git/COMMIT_EDITMSG --wait
ような行を追加すると、デフォルトの編集メッセージが開いて保存され、「
これは、vim以外のエディターをリンクしたいと思うかもしれないこの質問に到着した人々に答えを提供します。
Githubによるリンクされたリソースは、SOへの回答(これを含む)が更新されていなくても、編集者が更新されたときに最新の状態に保たれる可能性があります。
Githubの投稿は、さまざまなエディターのコマンドラインに入力する内容を正確に示しています。これには、各エディターに固有のオプション/フラグが含まれており、gitで最適に動作します。
Notepad ++:
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"
上記のコマンドは、エディターがWindowsマシンのデフォルトディレクトリにインストールされていることを前提としています。
コマンドは基本的.gitconfig
に、ホームディレクトリの二重引用符で囲まれたテキストを追加します。
Windowsマシンの場合C:\Users\your-user-name
、homeはである可能性が高く、your-user-nameはログイン名です。
コマンドラインからと入力すると、このディレクトリにアクセスできますcd ~
。
たとえば、上記のコマンドでは、[core]
セクションの下に次の行を追加します。
[core]
editor = 'C:/Program Files/sublime text 3/subl.exe' -w
別のエディターがある場合は、上記のいずれかの方法を使用して、エディターへのパスに置き換えます。(最適な使用のためにフラグが必要ないことを願っています。)
emacsユーザー向け
.emacs
:
(server-start)
shellrc
:
export EDITOR=emacsclient
git config --global core.editor "emacs -nw"
git config --global core.editor "emacs -nw -q"
、-q
初期化ファイルをスキップするを使用しています。
Windowsでこれらの手順を実行するには、Git for Windowsがインストールされていることを確認してください。Windowsでは、Git Bashを使用してLinuxのように感じます。
まず、特別なSublime Textプロジェクトを作成して、Gitがエディターを呼び出すたびに設定する特別なプロジェクト設定を指定して、Gitでの編集を簡単にする必要があります。たとえば、私は通常、ほとんどのプロジェクトで定規を120文字に設定しますが、Gitコミットメッセージの場合は、72文字にして、git log
またはを呼び出したときに端末にうまく収まるようにしますgit lg
。
Sublime Textを開き、メニュー「ファイル」 → 「新しいウィンドウ」に移動して、新しい匿名プロジェクトを作成します。メニュー「プロジェクト」 → 「プロジェクトに名前を付けて保存...」に移動し、保存する場所を選択します。Linuxでは、ファイル名を付けてLinuxのホームディレクトリに保存しました.gitconfig.sublime-project
。したがって、そのパスは次のとおり~/.gitconfig.sublime-project
です。Windowsの場合も、ホームディレクトリに保存します。例:C:\Users\MY_USER_NAME\.gitconfig.sublime-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":
[
]
}
次に、.gitconfig
ファイルを編集して、Gitが使用するエディターを設定する必要があります。
このユーザーコピーはにあり~/.gitconfig
ます。このファイルを開き、次の行を追加します。上記で作成したGitプロジェクトへの適切なパス名を使用してください。私は使用してい~/.gitconfig.sublime-project
ます。
[core]
editor = subl --project ~/.gitconfig.sublime-project --wait
これ--wait
は重要です。続行する前にファイルを閉じるまでGitを強制的に待機させるためです。この--project
行は、GitがSublime Textを開くたびに、どのプロジェクトを開きたいかをSublime Textに伝えるために重要です。
上記の@digitaldreamerの回答(https://stackoverflow.com/a/2596835/4561887)に従って、「subl
実行可能ファイルの完全パスで置き換えることができますが、[エイリアスsubl
]は通常、[Sublimeが正しく]インストールされている場合に使用できます。」
Windowsの場合、最初にLinuxの説明を読んで背景情報を確認してください。次に、ほぼ同じことを行います。
(オプション:subl
Git Bashで使用するエイリアスを作成します):
テキストエディタを開き(たとえば、メモ帳、メモ帳++、Sublime Text、Geanyなど)、ホームディレクトリに ".bash_profile"というファイルを作成します。したがって、そのパスは次のようになりますC:\Users\MY_USER_NAME\.bash_profile
。以下をそれに保存します。
alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"
これにより、Git Bash subl
for Windowsで使用できるGit Bashエイリアスが作成され、Sublime Textを簡単に開くことができます。この手順は必須ではありませんが、一般的なGit Bashの使用に役立ちます。これsubl .
で、たとえばGit Bashでを呼び出して、現在のディレクトリに新しいSublime Textプロジェクトを開くことができます。
(必須):
次の行を追加して、.gitconfig
ホームディレクトリにあるファイルを編集しますC:\Users\MY_USER_NAME\.gitconfig
。上記のLinuxの指示からの微妙な変更に注意してください。
[core]
editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
/
ないでください\
!(私がこれを見るのを助けてくれたVonC に感謝します)。subl
私たちは、Linuxの例で行ったように、あなたが上記のように代わりにあなたが全体のパスを指定する必要があり、それを使用することはできませんので、我々は上記のGit Bashのために作られたエイリアスは、ここでは動作しません。~
シンボルは、しかし、まだあなたのWindowsのホームディレクトリに到達するためにここで働いありません。これにより、git commit
メッセージの構文の強調表示だけでなく、git blame
(Sublime Textで頻繁に使用する)またはgit commit
(一般的なGitのコマンドラインを使用したいのでSublime Textで使用しない)などの他のGitコマンドにアクセスできます。フロー、私がこの回答の下の私のコメントで述べたように)。
パッケージをインストールするには:まず、「パッケージコントロール」がインストールされていることを確認します。次に、Ctrl+ Shift+ P(ツール→コマンドパレットと同じ)を押して、「パッケージコントロール:パッケージのインストール」の全部または一部を入力して、を押しEnterます。表示される検索ボックスで、パッケージ「Git」を検索してヒットEnterするか、クリックして自動的にインストールします。
インストール後、Ctrl+ Shift+ P次に「git」を検索すると、Sublime Text内で内部的に使用できるGitコマンドが表示されます(など)git blame
。
git commit
たとえば、通常どおりコマンドラインからを呼び出すと、Sublime Textが開き.gitconfig.sublime-project
、そのプロジェクトの設定で、上記で作成したが表示されます。段落を入力すると、ソフトワードラップがオフになっているため、設定したルーラーを超えて段落が表示されます。各行の終わりに自動挿入されたハードリターンを介して強制的にハードラップするには、自動ラップする長い行にカーソルを置き、Alt+ を押しQます。72文字でハードラップ/ハードフォールドするようになりました。これは、上記のプロジェクト設定の「ルーラー」パラメーターで設定したものです。
さて、あなたのメッセージコミット保存Ctrl+ S(あなたを完了するために、終了をgit commit
持ちます)Ctrl+ Shift+ W。
できた!
Git Commit
構文タイプがあります。ここで、カスタムの「崇高なテキストプロジェクト」ステップをスキップできます。
sublime
しgit
、さらにを使用するtrim_trailing_white_space_on_save
場合は、末尾の空白を削除するとパッチの編集が無効になるため、パッチの追加にエイリアスを追加する必要があります。:これは、このような何かを達成することができるgit config --global alias.patch "-c core.editor=vim add --patch"
git config --global core.editor "open -n -W -a TextWrangler"
また、「TextWrangler」>「設定」>「アプリケーション」>「TextWranglerがアクティブになるとき:」設定が「何もしない」に設定されていることを確認してください。
これは、MacアプリストアのTextWrangler 5.0.2がインストールされたOS X 10.11.4で動作します。
説明:
-n手段は、新しいインスタンスで開きます。
-Wコミットメッセージとして編集したファイルの内容を使用する前に、アプリケーションが終了するまで待機することを意味します。
-aのTextWranglerの手段は、ファイルを開くには、TextWranglerのアプリケーションを使用します。
詳細についてman open
は、Macターミナルアプリを参照してください。
git config --global core.editor "edit -w"
。これにより、現在のインスタンスでコミットメッセージが開き、このコミットメッセージドキュメントのみを閉じるとすぐに、コミットが続行されます。
使用するとき、インタラクティブなリベースを実行できるように値git-review
を変更sequence.editor
する必要がありました(git rebase -i -p
):
git config --global sequence.editor "gvim" # or whatever your prefer
gvim
必要とする: apt install vim-gtk
IntelliJユーザーの場合
git rebaseしようとしたときに、次のエラーが発生しました: 'ヒント:エディターがファイルを閉じるのを待っています...コード-n -w:コード:コマンドが見つかりませんエラー:エディターに問題がありました'コード-n -w '。'
IntelliJをGitに関連付けようとしたときに同じエラーが表示されました。
問題は、環境変数PATHにコマンドコードが追加されていないことでした。また、ターミナルからVisual Studio Codeを使用したくありませんでした。そのため、「コマンドが見つかりません」というメッセージが表示されました。私はこれを削除して解決しました
エディター=コード-n -w
私の.gitconfigファイルのコアセクションから。Gitは再び適切に動作しました。
これにより、コミットを編集するときにTextmateエディターが開きます。textmateコマンドラインツールをインストールする必要があります。
git config --global core.editor "mate -w"
git config --global core.editor "/usr/local/bin/mate -w"