23947


EclipseやIntelliJにはサーバー起動やテスト実行等のコマンドを設定し、  
それに名前をつけて保存し、ドロップダウンから選択して実行できる機能があるのですが、  
Emacsにはそれに相当する機能はあったりしますでしょうか？

2016-04-20 追記

こんな感じの設定を入れることでanythingに表示できるようになりました。

~/.emacs.d/init.el

[code]

    ;; .emacs.d/init.el
    (require 'f)
    
    ;; 指定のファイル内に定義された関数名をリストで取得
    (defun list-defined-functions-in-file (file)
      (-map 'cadr (s-match-strings-all "defun \\(exec-.*?\\) "
                                       (f-read file))))
    
    ;; ~/.emacs.d/init.d/99_run_configuration.elの関数一覧を取ってくる
    (setq run-congiguration-candidates (list-defined-functions-in-file "~/.emacs.d/init.d/99_run_configuration.el"))
    
    ;; anythingの情報源として99_run_configuration.elの関数の一覧を定義
    (defvar anything-c-source-run-configuration
      '((name . "Run configuration")
        (candidates . (lambda () run-congiguration-candidates))
        (type . command)))
    
    (defun my-anything ()
      (interactive)
      (anything-other-buffer
       '(anything-c-source-buffers-list
         anything-c-source-run-configuration ;; ここで上記の情報源を追加
         anything-c-source-recentf
         anything-c-source-files-in-current-dir+)
       "*anything*"))
    
[/code]

~/.emacs.d/init.d/99_run_configuration

[code]

    ;; このファイルに実行したいコマンドを追加していく
    (defun exec-lein-ring-server ()
      (interactive)
      (async-shell-command "cd ~/clojure_projects/sample_project; lein ring server"))
    
    (defun exec-lein-deps ()
      (interactive)
      (async-shell-command "cd ~/clojure_projects/sample_project; lein deps"))
    
[/code]

[![Run
Configurationが追加した部分です](https://i.stack.imgur.com/JNLCl.png)](https://i.stack.imgur.com/JNLCl.png)


CC BY-SA 3.0
2016-04-12T08:24:19.737
23946
2016-04-20T05:24:07.763
2016-04-20T05:24:07.763
15131
15131
question
emacs
emacsでEclipseの「実行の構成」の機能と同じようなことはできないのでしょうか？


「実行の構成」でやりたいことは何でしょうか。  
やりたいことが、特定のコマンドへの名前付け実行ならば、

  1. emacs は、シェルを実行できます。
  2. シェルを実行する操作を、関数定義して、それを `M-x` で呼び出すことができます。

ことでもって、一応は実現できますが、これと比較して足りていないと思う機能がありますか？あるとしたら、どのような場合にその機能が欲しいと思っていますか？


CC BY-SA 3.0
2016-04-12T08:53:36.423
23947
2016-04-12T14:24:36.567
2016-04-12T14:24:36.567
754
754
23946
answer