端末内でgitとemacsを使用するにはどうすればよいですか?


9

以前git config --global core.editor emacsはgitエディターをemacsとして設定してきましたが、それを行って何かをコミットすると、ターミナル内でemacsを開く代わりに、エディターが新しいウィンドウを開きます。-nwが与えられたかのようにemacsを使用したいのですが、これを書き込む-> git config --global core.editor emacs -nwは解決策ではありません。

私は今のところ基本的なgitを使用する必要があります。


2
マジットについて知っていますか?Emacs内からの基本的なgit操作が簡単になります。magit.vc
タイラー

2
うん。現時点では使用できません。クラスが終わったら、レベルアップしてmagitにします。
Lib101 2016年

「-nw」を追加したときに何が起こるかを、「解決策ではない」と単に述べるのではなく、説明する必要があります。コマンドが適切にエスケープされている場合、それは私にとってはうまくいきます。
asjo 2016年

回答:


19

を実行するgit config --global core.editor emacs -nwと、シェルはgitを呼び出す前にコマンドラインを単語に分割します。したがって、Gitは「emacs -nw」を2つの別個の引数と見なします。設定ファイルに入れる必要があるのは1つだけなので、もう1つは無視されます。(実際には嘘ですが、詳細はmanページで確認できます。)一連の単語を引用符で囲んで、シェルにgit config --global core.editor "emacs -nw"分割しないように指示できます。gitに「emacs -nw」を1つの引数として与えると、あなたがしたいことをします。


2

新しいGUI emacsウィンドウを開く際の問題を指定しません。問題が起動時間が長い場合は、emacsclientをエディターとして使用することを検討してください。簡単に言えば(server-start)、emacs initファイルで実行し、通常のGUI emacsを開いたままにしてから、gitにemacsclientというエディターを使用するように指示します。編集中のファイルが実行中のemacsの新しいバッファーにポップアップ表示されるのは何が起こるかです。処理が完了したら、を押しC-x #てemacsclientセッションを終了します。次に、git(またはエディターを開始した他のシェルプロセス)は、エディターの「emacsclient」がファイルを処理したことを認識し、処理を続行します。(「emacsclient」も一言なので、差し迫った問題も解決します)

ターミナルウィンドウで編集を行う必要がある場合でも、実行emacsclient -nwして長い起動時間をなくすことができます。より多くの可能性がありますman emacsclient、良い読みです。


1
(上記の回答に対するコメントとしては優れていたでしょうが、コメントの投稿は許可されていませんでした)
Ury Marshak

私はこれをどこでも探していましたが、それが答えであることをとても嬉しく思います:)
AER
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.