タグ付けされた質問 「interactive」

1
選択した領域のみにコマンドを適用するためのElisp
たとえば、次のようなコードがあります。 (defun some-function () (interactive) ;; do something ) 今、私some-functionはバッファ内の選択された領域でのみ操作したいですか?どうやってやるの ?また、ある領域を選択した場合に何かを実行し、選択していない場合に別の何かを実行するための2つの個別のコードパスがあります。

1
関数をキーにバインドしたり、Mxで呼び出したりできないのはなぜですか?
関数を作成し、Mx経由で呼び出して、キーにバインドしたいと思います。これは私の機能です: (defun my-function () (message "This is a great function")) で呼び出そうとするとM-x my-function、エラーが発生します:[no match]ミニバッファで。 キーにバインドしようとすると(またはマウスクリック): (global-set-key (kbd "C-c a") 'my-function) 動作しているように見えますが、で呼び出すとC-c aエラーが発生します 間違ったタイプの引数:commandp、my-function 関数を使用できないのはなぜですか?

2
Emacsは、トランプを使用してリモートHPCノードのインタラクティブセッションで実行できますか?
EmacsでESSおよびtrampを使用して、リモートファイルをロードし、HPCコンピューターでリモートRプロセスを実行しています。SSHキーを使用すると、trampはと、これが容易になりますC-x C-fでファイルを見つけるために/ssh:myserver:/path/to/file続くM-x RRセッションを起動します。 ただし、ジョブスケジューリングシステム(Sun Grid EngineやTorqueなど)を使用するHPCコンピューターでは、ヘッドノードで使用できるメモリとCPUの量に制限があるため、を使用してインタラクティブセッションを起動する必要がありqsub -Iます。 qsub -Issh接続が行われた後、スレーブノードで(使用または同等のもの)インタラクティブセッションを起動するようにtramp、ssh、Emacsを構成することは可能ですか?
11 tramp  ess  interactive  ssh 


1
ソースブロックをもつれさせながら、STDINからユーザー入力を読み取ることはできますか?
ソースブロックをもつれさせながらSTDINからユーザー入力を読み取ることはできますorg-babel-tangleか? 私はこれを知っています:Org Mode Babel-インタラクティブコードブロックの評価。 それは助けには、それはまだシェルから適切なSTDIN入力を許可しないように、この特定のユースケースを解決しますが、限られた入力をシミュレートしていない内部のEmacsに。 バックグラウンド OrgのBabelを使用して、1つのorgファイルからいくつかのチュートリアルを実行することにより、新しいプログラミング言語(PerlとBash)を学びたいと思います。 問題は、多くのチュートリアルがSTDINに依存していることです。たとえば、次のperl tidbitを実行するとします。 #+BEGIN_SRC perl :tangle hello-name.pl :results output :export code use 5.010; use strict; use warnings; say "What is your name?"; my $name=<STDIN>; say "Hello $name, how are you?"; #+END_SRC EmacsはユーザーのインタラクションがSTDINに名前を正しく入力するのを待たず、すぐに出力します: #+RESULTS: : What is your name? : Hello , how are you? …


1
ユニバーサル引数を受け入れるインタラクティブコマンドに「call-interactively」を適用する方法は?
Elisp内からインタラクティブな呼び出しを行う方法に関するドキュメントを読みましたが、ユニバーサル引数call-interactivelyを認識するコマンドで使用するときにユニバーサル引数を渡す方法がわかりません。 より具体的には、特定の条件下で、ユニバーサル引数を使用してshellインタラクティブにコマンドを呼び出す必要がある関数を実装したいので、結果として、プロンプト Shell buffer (default *shell*): ミニバッファーに表示され、このプロンプトが応答を受け取ると、指定されたバッファーが作成され(まだ存在しない場合)、現在のバッファーになります。 FWIW、私は以下を試しました: (universal-argument) (call-interactively 'shell) そして (setq prefix-arg (list 4)) (call-interactively 'shell) ...しかし、私はプロンプトを見たことがありませんShell buffer (default *shell*):。代わりに、すべての場合において、shellコマンドは普遍的な引数なしで呼び出された場合とまったく同じように実行されました。(私がここで何をしているのか本当にわからないので、上記の私の盲目的な試みは、ドキュメントの先見的なアドバイスを意識的に無視して行われました。)

1
ielm、特定のバッファーにバインド
ielmを実行する方法はありますが、変数が特定のバッファーにバインドされていますか? 私はについて知ってM-:いますが、物事を検査するためにielmのようなシェルを持つ方がはるかに簡単でしょう。

3
複数のキーでほぼ同一のコマンド
Visual Studioには、何かにポイントを置いて押すことができるこの優れた機能があり、ポイントのC-f3下にあるものの次のインスタンスを見つけて、それを記憶します。次に、を押しf3て次のインスタンスを見つけ、S-f3同じものを逆方向に検索します。 私が書いたelispを使用して、Emacsで同じことを行うことができます。(かさばるし、確かに悪いので省略します)。 私は何をしたいのは、のために同様の機能を有効にすると言う、することでf2、f3、f4、とf5。したがって、押すと、C-f2そのものを変数/関連付け配列/シンボルにどこかに保存することでそのポイントの下にあるものを検索C-f3し、別のものを押すと、emacsはその2番目のものを別個の変数に保存するため、検索できます一つf2目f3は未来を押すことで、二つ目は未来を押すことで検索できます。 Control-X用に1つ、プレーンX用に1つ、Shift-X用に3つ目の関数を作成したいのですが、これにどのように取り組むかわかりません。 関数に現在のキー押下を要求させる必要があるのですか(la this-single-command-keys)、または(関数を既に押しているので、ユーザーにプロンプ​​トを表示せずに)からインタラクティブ関数にパラメーターを渡す方法を見つける方が良いですか? インタラクティブ機能に追加情報を渡すにはどうすればよいですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.