Doom-emacs: どうすればREPLウィンドウを移動できますか?

作成日 2017年08月08日  ·  3コメント  ·  ソース: hlissner/doom-emacs

C-c C-lを使用してREPLを開くと、それが作成するウィンドウは特別に見えます(背景が暗く、閉じたときにプロセスを終了します...)。

また、画面が常に水平方向に分割されているように見えます。これは、便利な場合もあれば、煩わしい場合もあります。 emacsについて十分に知らないので、このウィンドウを右側に移動する方法が見つからないようです。
switch-bufferコマンドを使用して別のフレームで取得できましたが、プロセスとバッファを含むすべてのフレームが強制終了されるため、元のフレームを閉じることができません。

この特別なバッファをどのように処理し、どのように表示するかについてのポインタを教えてください。 :(

ありがとう!

discussion

最も参考になるコメント

うーん、ここには可動部分がたくさんあります。 C-c C-lが何にバインドされているのかわかりません。 +eval/replコマンドを使用してモードのreplを開始していない場合、Doomはreplバッファーを一般的な特殊バッファーのように扱います。

その場合、関連する2つの変数はshackle-default-alignmentshackle-rulesであり、特定の条件を満たすウィンドウを処理する方法をEmacsに指示します。

shackle-rulesの最後には、2つのキャッチオールルールがあります。

(set! :popup 
  '("^\\*"  :regexp t :noselect t :autokill t)
  '("^ \\*" :regexp t :size 12 :noselect t :autokill t :autoclose t))))

ここでの2つの問題は、 :autokill t (バッファーとそれに関連するプロセスが一緒に強制終了されることを保証する)であり、 :align指定されていないため、デフォルトでshackle-default-alignmentになります。 'below

では、これをどのように修正しますか?

これが3つの方法です:

  1. 特に、担当者のオーバーライドルールを指定するだけです。

    (set! :popup "*my-repl-buffer*" :align 'left :noesc t)
    

    詳細については、 M-x doom/describe-setting RET :popupを参照してください。

  2. 担当者で+eval-repl-modeマイナーモードを有効にします。

    (add-hook 'inferior-python-mode-hook #'+eval-repl-mode)

    このポップアップルールはmodules / feature / eval /config.elにあります。

    (set! :popup
     '(:custom (lambda (b &rest _) (buffer-local-value '+eval-repl-mode b)))
     :size 16 :noesc t)
    
  3. C-c C-l+eval/replバインドし、代わりにそれを使用してreplを呼び出します。 ほとんどのモードには適切なデフォルトがあります。 必要なreplが開かない場合は、major-mode-> replの関連付けを:repl設定で変更できます。

    (set! :repl 'python-mode #'+python/repl)

    関数:repl wantsは、replを含むバッファーを返す必要があります。


お役に立てば幸いです。

全てのコメント3件

うーん、ここには可動部分がたくさんあります。 C-c C-lが何にバインドされているのかわかりません。 +eval/replコマンドを使用してモードのreplを開始していない場合、Doomはreplバッファーを一般的な特殊バッファーのように扱います。

その場合、関連する2つの変数はshackle-default-alignmentshackle-rulesであり、特定の条件を満たすウィンドウを処理する方法をEmacsに指示します。

shackle-rulesの最後には、2つのキャッチオールルールがあります。

(set! :popup 
  '("^\\*"  :regexp t :noselect t :autokill t)
  '("^ \\*" :regexp t :size 12 :noselect t :autokill t :autoclose t))))

ここでの2つの問題は、 :autokill t (バッファーとそれに関連するプロセスが一緒に強制終了されることを保証する)であり、 :align指定されていないため、デフォルトでshackle-default-alignmentになります。 'below

では、これをどのように修正しますか?

これが3つの方法です:

  1. 特に、担当者のオーバーライドルールを指定するだけです。

    (set! :popup "*my-repl-buffer*" :align 'left :noesc t)
    

    詳細については、 M-x doom/describe-setting RET :popupを参照してください。

  2. 担当者で+eval-repl-modeマイナーモードを有効にします。

    (add-hook 'inferior-python-mode-hook #'+eval-repl-mode)

    このポップアップルールはmodules / feature / eval /config.elにあります。

    (set! :popup
     '(:custom (lambda (b &rest _) (buffer-local-value '+eval-repl-mode b)))
     :size 16 :noesc t)
    
  3. C-c C-l+eval/replバインドし、代わりにそれを使用してreplを呼び出します。 ほとんどのモードには適切なデフォルトがあります。 必要なreplが開かない場合は、major-mode-> replの関連付けを:repl設定で変更できます。

    (set! :repl 'python-mode #'+python/repl)

    関数:repl wantsは、replを含むバッファーを返す必要があります。


お役に立てば幸いです。

ああ、私は言及するのを忘れました:現在、ライブポップアップウィンドウを移動する方法はありません(私は移動する必要はありませんでした)。 それは私が修正しようとするものです。

それは私が必要としたすべての助けのようです!

具体的には、私が実際に話していたinteroコマンドによって開始され、REPLと呼ばれるintero-repl-load 。 その時、どんなメカニズムを使っているのかわかりません。

私は結局:

(set! :popup "^\\*intero:" :regexp t :align 'right :size 80)

私のmodules/private/ptival/init.elでは、魅力のように機能しました!

このすべてを私に説明するために時間を割いてくれてありがとう! 妥当な時間内に自分でこれを理解したとは思いません! 👍

このページは役に立ちましたか?
0 / 5 - 0 評価