Emacs

Emacsを使っている、拡張している、または開発している人のためのQ&A

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
ORGファイルをインタラクティブなHTMLサイトにエクスポートするにはどうすればよいですか?
タイトルの展開と折りたたみをサポートする.orgファイルをhtmlにエクスポートする方法はありますか? 私が望んでいるのは、TABのようなキーを押して、アウトラインを展開したり折りたたんだりできるようにすることですが、HTMLサイト上で。 Github wikiはorgmodeをサポートしていますが、タイトルの拡張と縮小を許可していないようです。
10 org-mode  html 


2
一般にキーボードマクロのバインドに使用できるEmacsの未使用のキーは何でしょうか?
キーをキーボードマクロにバインドする通常の方法はC-x C-k 0to 9とAtoであると読みましたZ。 したがって、たとえば、キーボードマクロを定義した後、タイプする C-x C-k bと、Emacsがバインドするキーを要求します。そして、この目的のために予約されているキーはC-x C-k 0to 9とAto Zです。 しかし、これにはかなりの数のキーストロークが含まれます。これをバインドするための良い鍵は何ですか?Emacs GUIバージョンを使用して、Ubuntu仮想マシンを実行しているMacに+ C-<return>またはOption+ Enterでバインドできることがわかりました。したがって、それは機能するはずですが、EmacsターミナルバージョンとMac上のネイティブEmacsはどちらも+ C-<return>またはOption+ Enterを同じ<return>ように扱うため、機能しません。 一般にキーボードマクロのバインドに使用できるEmacsの未使用のキーは何でしょうか? それとも、代わりにバインドされていないすべての簡単なキー表示する方法があるCtrlとはMeta?

3
透過的な「パススルー」関数ラッパーを作成する方法は?
「透過的な「パススルー」関数ラッパー」とは、wrapperすべての引数を他の関数に渡した結果を返す関数のことwrappeeです。 Emacs Lispではこれはどのように行われますか? NB:理想的なwrapper機能があるとらわれない程度wrappee関数のシグネチャ。つまり、wrappeeの引数の数、位置、名前などは何も知りません。最初に呼び出されたwrappeeかのように、すべての引数をに渡しますwrappee。(必要がへの呼び出しを置き換えるためにコールスタックを台無しに、しかし、ありませんwrapperへの呼び出しでwrappee。) 私は私の質問に部分的な回答を投稿しました: (defun wrapper (&rest args) (apply 'wrappee args)) これは、wrappeeがインタラクティブでない場合にのみ機能します。どうやら、インタラクティブ関数が引数を取得する方法は、(&rest args)呪文の対象とは異なる「チャネル」を表します。したがって、私がまだ必要としているのは、が対話型の関数である場合のwrappee、(&rest args)署名に等しく不可知論的な対応物です。wrappee (この質問は、この前の質問で説明されている問題によって動機付けられました。) 私が求めていることをさらに明確にする必要がある場合のために、以下にいくつかの例を示し、PythonとJavaScriptで同等のものを示します。 Pythonでは、このようなラッパーを実装するいくつかの標準的な方法を以下に示します。 def wrapper(*args, **kwargs): return wrappee(*args, **kwargs) # or wrapper = lambda *args, **kwargs: wrappee(*args, **kwargs) (ここで*argsは「すべての位置引数」を**kwargs表し、「すべてのキーワード引数」を表します。) 同等のJavaScriptは次のようになります。 function wrapper () { return wrappee.apply(this, arguments); } // or wrapper = function () { …
10 advice  arguments 

1
組織モードのツリーをどのように歩くことができますか?
バックグラウンド Emacsのプレゼンテーションモードを書いています。orgファイルはデータに最適であるため、入力はorgファイルにしてください。 問題 組織モードファイルを、繰り返し処理できる「スライド」データ構造のリストに変換する必要があります。これを行うには、次のorg-modeファイルのようなものを使用します。 * this is the first headline, with a title property and no contents * this is the second headline, with contents - dash list nested under the second headline - further nested ** nested headline それを歩くことができます。私はを試しました(org-element-parse-buffer)、そしてそれは私に要素のリストを与えます、しかしそれらをさらに歩く方法を理解するのは難しいです。たとえば、呼び出し(org-element-map (org-element-parse-buffer) 'headline #'identity)は3つの要素のリストを提供します。最後の1つは「ネストされた見出し」を表します。「ネストされた見出し」は「これが2番目の見出しで、内容が含まれる」の子になりたい。 XY問題の回避 私は確かに、org-modeファイルをElispデータ構造に変換する他の方法を受け入れています。私はしていないと思う ORG-輸出は、私は結果を含む新しいファイルが、データ構造で終わるしたくないので、私は反復処理することができ、私のための適切なツールです。私の素朴な方法は、「すべてのトップレベルの見出しを与えて、それらのプロパティと含まれている要素(たとえば、プレーンテキストまたはネストされたリスト-さらなる見出しかダッシュリストかに関係なく)を取得できる」のようなものです。
10 org-mode 

2
パッケージをグローバルにインストールする
これはできる/すべきことですか?たとえば、ユーザーアカウントでemacsを使用することが多く、ルートアカウントで使用することもあります。パッケージマネージャー(マーマレードなど)を使用する場合、アカウントごとに同じパッケージを個別にインストールする必要がありますか?彼らはあなたのホームディレクトリにインストールされているようです。

1
Emacsデスクトップ保存モード-以前のデスクトップが完全に復元されたときにのみデスクトップを保存します
私には次のものがあります.emacs: (desktop-save-mode 1) (setq desktop-restore-eager 10) (setq desktop-save t) 多くの場合、多くのバッファを開いています(100程度)。これは本当に役立ちます。emacsは、他のことでビジー状態でないときにのみバッファをロードするためです。 さて、ときどき次のことが起こります。ラップトップをシャットダウンする前に、emacsを閉じます。次に、もう1つのファイルをすばやく編集する必要があることに気づきました。もう一度emacsを開き、編集を実行してから閉じます。これが短時間内に発生した場合、desktop-save-mode以前に保存されたすべてのバッファを復元できませんでした。この場合、再びemacsを閉じると、復元されたバッファーのみが保存され、最初のシャットダウン前の状態が失われます。 desktop-save以前に保存されたデスクトップが完全に復元された場合にのみ、これを実行する方法はありますか?
10 start-up  desktop 

2
時刻を操作する方法(org-mode)
タスクから出たり、別のアクティビティを出たりすることを忘れがちです。 たとえば、私は今、(計時された)タスクに取り組んでいて、その後マネージャーが立ち入り、40分ほど続くディスカッションに着手しました...無視できないほどです。 これについて最善の方法は何ですか?できれば、私が取り組んでいたメインタスクからこのディスカッションの時間を差し引いて、新しいアクティビティに追加したいと思います。
10 org-mode 

2
Cx Ccの後で一時停止を設定する方法は?
C-x C-cemacsで実行すると、すぐに終了します。設定confirm-kill-emacsするy-or-n-pと、閉じる前に確認を求めてきます。 の代わりにy-or-n-p、一時的なタイマーを3秒に設定してから、emacsを閉じます。だから、私が押すC-x C-cとそれは次のようなものを表示するはずです Emacsは3秒でシャットダウンされます。Cgを押して停止します 何もしなければemacsをシャットダウンするはずですが、を押すC-gとシャットダウンできなくなります。どうすればこれを達成できますか?
10 quitting  timers 

3
省略記号の後のポイントで組織モードサブツリーを展開しますか?
私はorg-modeが大好きですが、常に私を悩ませてきたのは、折りたたまれたサブツリーの省略記号の後にある場合、押しTABても拡張されないことです。たとえば、ポイントがここにある場合(で表されます|): * Grandiose Plans ** Save the world...| ** Colonize Mars... ...を押してTABも何も起こりません。代わりに、私はここにポイントを置かなければなりません: * Grandiose Plans ** Save the world|... ** Colonize Mars... ...次にサブツリーを展開できます。 を使用C-eしてカーソルを見出しの末尾に移動しても、この動作は修正されず、単にその周りで動作することに注意してください。たとえば、次のツリーを見てください。 * Long level one heading foo bar baz fizz buzz|... ** Shorter level two heading... ポイントは最初の見出しの終わりです。下矢印キーを押すかC-n、1行下に移動すると、ポイントは次のようになります。 * Long level one heading foo bar baz fizz buzz... …
10 org-mode 

1
ローカル変数リファクタリングの名前を変更する
ローカル変数と関数引数の名前を変更できるelispリファクタリングツールはありますか?向きを変えられるようにしたいと思います。 (defun my-func (s r) ... (use s .. r)) に: (defun my-func (string replacement) ... (use string .. replacement)) 変数参照を見つける方法を知っているメソッドを使用します。超衛生的でなくても大丈夫です。
10 elisp 

2
キーボードバインディングを定義するための標準/推奨構文はありますか?
キーボードバインディングを定義するために、以下のすべてを見てきました。これらはすべて機能します(少なくともMS Windowsでは)。同じことをする別の方法があるかどうかわかりません。 キーボードバインディングを定義するための標準的な方法または推奨される方法があるかどうか、およびこれらのいくつかを回避することが推奨されるかどうかを考えています。 (global-set-key "\M-r" 'some-command) (global-set-key [(meta r)] 'some-command) (global-set-key [?\M-r] 'some-command) (global-set-key (kbd "M-r") 'some-command)


2
分割ウィンドウを折りたたむ
このような分割ウィンドウを考えます: |------|-------| |1 |2 | | | | |------|-------| |3 |4 | | | | |------|-------| 分割ウィンドウを折りたたむ方法は2つあります。 他のウィンドウを削除(Ctrl-x 1) 削除ウィンドウ(Ctrl-x 0) 質問:それらがどのように崩壊するかを制御する方法はありますか? たとえば、次のように折りたたむにはどうすればよいですか。 |------|-------| |1 | | | |------|-------| |3 |4 | | | | |------|-------| 、 この: |------|-------| |2 | | | |------|-------| |3 |4 | | | | …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.