私はスライムを使用しませんが、comint-mode を使用すると仮定すると、次のようにするとうまくいくと思います。
(defun my-slime-test-run ()
(interactive)
(delete-other-windows)
(split-window-below)
(with-selected-window (next-window)
(switch-to-buffer "slime-repl")
(goto-char (point-max))
(insert "(test-run)")
(comint-send-input)))
(global-set-key (kbd "<f3>") 'my-slime-test-run)
これを行うためのより良い方法がおそらくありますが、できれば、エディターでタスクを実行するための elisp 関数を作成する方法について少し洞察が得られることを願っています (そして、関数が一連のエディターの指示と非常によく似ていることに注意してください。使用するキーストロークを同等のコードに変換するだけで、多くのことを実行できます。または、コードをまったく記述せずに、キーボード マクロを記録して保存することもできます)。
C-hf name-of-the-function
RETその関数内の関数/マクロ呼び出しに関するドキュメントを取得するために使用します。
キーバインドについては、C-hkF3Emacs がそのキーをどのように参照しているかを確認し、その文字列を引数として使用しましたkbd
(そのシーケンスを使用して、特定のキー シーケンスにバインドされた関数の名前を見つける方法に注意してください。必要に応じてコードで使用します)。
多くのことは、まだ知らない場合ははるかに明白ではありませんが、それは、これと同じくらい大きなコード ベース (およびこれほどまでさかのぼる) でのみ予想されることです。
すばらしいことに、何を探しているのかわからない場合は、パターンに一致する関数名をいつでも検索できますC-uC-ha(変数、値、ライブラリ、およびドキュメントについても同様ですM-: (info "(emacs) Apropos")
RET。この機能の詳細については、を参照してください)。加えて情報マニュアル (索引付き --特定のマニュアル内でまたは を押すI
か、コマンドを使用してすべての情報マニュアルを一度に検索します)。i
info-apropos
Emacs の自己文書化の性質を利用して、まだ知らないことに対する答えを見つける方法を学ぶことは、まさにあなたができる最高のことの 1 つです。