2011-01-05 16 views
4

編集やシェルの活動のほとんどをemacsに移そうとしているので、別のコンピュータから簡単にワークフローを続けることができます。私はまた、私の異なるプロジェクトのために異なるemacsのインスタンスを持っています。例えば、私が起動:私はProject1の上で動作するように枠を開始したい時はいつでもemacsclientが実行されるemacsデーモンを見つける方法

emacs --daemon=project1 
emacs --daemon=project2 

はその後、私が行います

emacsclient -s project1 -c 

は、主にそれは素晴らしい作品が、私は私のツールを実行するとのトラブルを持っています$ EDITORを使ってエディタを起動しようとしているemacsシェルです。もちろん、この場合、私の現在のemacsインスタンスには、emacsclientのために設計された新しいバッファが開かれています。 Project1ののemacsのシェルバッファであれば、私は言う:

で、その後
export EDITOR='emacsclient -s project1' 

特定シェルすべてが完璧に動作していること。

私の質問は、現在のシェルが実行されているemacsインスタンスを指すようにEDITOR変数を自動的に設定する方法です。ここで

答えて

3

はそれを行うための一つの方法である:

 
(add-hook 'shell-mode-hook 
     (lambda() 
     (comint-send-string 
     (get-buffer-process (current-buffer)) 
     (concat "export EDITOR='emacsclient -s " 
      (daemonp) 
      " -c'\n")))) 
関連する問題