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

単一のコマンドラインをシェルサブプロセスに渡すコマンド、シェルを対話的にEmacsバッファーへの入出力で実行するコマンド、およびターミナルエミュレーターウィンドウでシェルを実行するコマンドに関する質問。

2
現在のバッファーでシェルを開くにはどうすればよいですか?
関数「shell」では、この行はシェルバッファーを表示し、ほとんどの場合、ランダムフレームで開いている新しいシェルを表示します。そして、私はバッファを交換しなければなりません、それは迷惑です。 ... (pop-to-buffer buffer) ... ドキュメントで言う: そのウィンドウが別のグラフィックフレームにある場合、可能であれば、そのフレームに入力フォーカスが与えられます。 ターゲットフレームにバッファを表示する方法がわかりません。elispでは十分ではありません。どうすればできますか?誰かが助けてくれてありがとう。
8 frames  shell 

3
シェルコマンドを完全にサイレントにする方法(ウィンドウを分割したり、新しいフレーム/ウィンドウを開いたりするのを防ぐ)
シェルコマンドをサイレントで(バックグラウンドで)実行することは可能ですか?を使用するとasync-shell-command、emacsがウィンドウを分割します。特定のシェルコマンドが完全にバックグラウンドで実行されるようにしたい(視覚効果なし)。 明示的な例として、次のコードがあります(https://emacs.stackexchange.com/a/7932から借用)。作業中のtexファイルのPDFバージョンを開きます。それを実行すると、ウィンドウが分割されます。この特定の状況では、この動作を防止します。 (defun my-view-pdf () (interactive) (async-shell-command (concat "SumatraPDF " (file-name-base (buffer-file-name)) ".pdf")))
8 latex  shell 

1
emacsの起動後にシェルを自動的に起動するにはどうすればよいですか
Emacsを使用する主な理由の1つは、sshリモートマシンにアクセスした後に強力な環境を取得することです。Emacsを起動した後に私が最初に行うM-x shellことは、コマンドラインを取得するために実行することです。Emacsの起動には少し時間がかかるため、初期化ファイルを解析した後、実行時にEmacsにシェルの起動を要求するオプションがあると非常に便利です(シェルフックをいくつか設定して、それぞれ別のことを実行します) )。理想的には、追加のオプションで実行できるようにしたいので、リモートマシンの初期化ファイルに特定のものを追加する必要はありません(bash必要に応じてエイリアスを設定できます)。このようなもの: emacs afile1 afile2 -startShell 実際、セキュリティで保護された接続の確立には約30秒かかるので、私が本当にやりたいことは、「シェルを起動する」をsshコマンド自体に組み込み、with を使用sshし-tて画面ベースのプログラムを起動することです。 ssh -t me@remote emacs afile1 afile2 -startShell Emacsのコマンドライン引数のドキュメントを確認しましたが、まだEmacsとLisp、およびカスタマイズを開始しており、コマンドライン引数を処理する方法をすぐに理解できませんでした。これを行うにはどうすればよいですか? (ユーザー@Nameが言及した関連質問eshell。)
8 shell  start-up 

4
非同期シェルプロセスバッファーは常にウィンドウの配置を覆います
私はM-!、FirefoxやEvinceなどのを使用してemacsから外部プログラムを頻繁に起動します。実行するたびに、バッファがプロセスの結果でいっぱいにポップアップします。これにより、ウィンドウの配置に関して私が行っている他のことはすべて破棄されます。 デフォルトでそのようなバッファを埋める方法はありますか?そうすれば、バッファを探しに行くことに決めない限り、それらを見る必要はありませんか?
8 window  shell  async 

2
org-babelセッションを強制的にリセットまたは初期化するにはどうすればよいですか?
次のバベルシェルブロックを実行すると #+BEGIN_SRC sh :session one :results output ssh staging #+END_SRC #+BEGIN_SRC sh :session one :results output hostname #+END_SRC ORGと呼ばれるシェルバッファを作成しone実行、ssh stagingおよびその後接続した後、実行hostnameステージに。ただし、sshコマンドを微調整して再度実行すると、ステージングホストからセッション1内から実行しようとします。バッファを閉じるoneと、次回そのセッション名でコマンドが実行されるときにセッションがリセットされ、再作成されます。私が見つけることができなかったのは、特定のバベルブロックに常に新しいセッションを初期化させる方法です。 一部の言語(特にelsp)では、これが不可能であることを認識しています。セッションの先頭にを含むelispブロックを付加できると思い(kill-buffer "one")ますが、可能であればこれをヘッダー引数にしたいと思います。この例では、セッションなしで2つを1つのブロックに単純に結合できることも知っていますが、もっと複雑なシーケンスに興味があります。 すべての呼び出しでそのブロックに新しいシェルを初期化させる:prologueコマンドまたは他の特別な引数はあり:sessionますか?

3
Mxコンパイルの永続的な環境
実行M-x compileすると、新しいサブシェルが生成され、コンパイルコマンドが実行されます。コンパイルコマンドが戻るとすぐに、シェルプロセスは強制終了されます。これがほとんどの場合に望ましい理由はわかりますが、現在は役に立たない状況にあります。 現在、専用のビルド環境で作業しています。コンパイラーを実行する前に、ビルドをセットアップするためにいくつかの初期手順を実行する必要があります。環境が持続する限り、セットアップ手順を1回だけ実行する必要があります。しかし、それを使用M-x compileすると、コンパイルまたは再コンパイルするたびに手順を実行する必要があることを意味します。 バックグラウンドで持続するサブシェルを生成する方法はありますか?一つM-x compileとM-x gdb彼らはシェルプロセスを実行する必要があるたびに使用することができますか? 動機: xcc特別なプラットフォーム用のCコードをビルドするプログラム(これをと呼びます)があります。コードをビルドするには、まずプロンプトxccから始めtcshます。 $ xcc プログラムの読み込みに10秒以上かかり、インタラクティブプロンプトでコマンドを入力できます xcc>> add target myprogram xcc>> set source myprogram $PROJDIR/src/ xcc>> set includes myprogram $PROJDIR/include/ xcc>> set type myprogram primitive xcc>> set inputs myprogram int8,int8 xcc>> set outputs myprogram fix16,fix16 xcc>> build myprogram 上記の手順はカスタムマクロに組み込むことができるbuildmyprog.macroので、シェルから直接、またはemacsから実行できます。M-x compile $ xcc buildmyprog.macro このアプローチの主な問題は、xccコンパイルが始まるまでにプログラムのロードに10秒かかることです。私はすべての時間、私は私が実行し始めていることをコンパイルし、余分な10秒待っているの疲れ十分に得xccにansi-term別のバッファでは。コードを変更して保存した後、ansi-termバッファに切り替えて実行します …

2
ob-shellの初期化エラーをクリアするには、 `(shell。t)`を削除する必要がありますか?
最初の投稿。Emacsのインストールのトラブルシューティングに成功したかどうかを確認します。失敗した場合は、どこでどのように続行するかを指示します。 私のセットアップ: Emacs 24.5 Macbook Pro Core Duo(2010年半ば) OSX El Cap(10.11.4) 最近、EmacsをKierian Healyの[ https://kieranhealy.org/resources/emacs-starter-kit/](社会科学スターターキット)とともにインストールしました。インストール後に最初にEmacsを起動したとき、私が知る限り、何も機能しないというエラー(以下)を受け取りました。ただし、Emacsを初めて使用する場合は、確信が持てません。 インストールすると、起動時に次のエラーメッセージが表示されました。 Warning (initialization): An error occurred while loading `/Users/lmp/.emacs.d/init.el': File error: Cannot open load file, no such file or directory, ob-shell To ensure normal operation, you should investigate and remove the cause of the error in …

2
シェルバッファー内のすべての出力をフラッシュします(および*メッセージ*も)
shellバッファ内のすべての出力をフラッシュする簡単な方法はありますか?最近(Emacs 24.4にはすでにあると思います)*shell*バッファーは編集できないため、通常のターミナルの動作と同様に動作します。つまり、最後にテキストを追加したり、最後の出力をフラッシュしたりできますが、任意の場所にテキストを追加したり、その一部を任意に削除したりします。この改善(?)について重要な何かを見逃しているようです。それは実際にそれをよりいらいらさせます。*shell*と*Messages*バッファーについてドキュメントを検索しましたが、質問の言及が見つかりませんでした。 元の質問に加えて、この変更のポイントは何ですか?私にはこれはまったく改善のようには感じられないので、「キャッチ」がない限り、デフォルトとして読み取り/書き込みに設定したいと思います。 私は、Emacsについて話して24.4、当然の25.0.50.1。

1
* shell *バッファーのsshで「ターミナルが完全に機能しない」
シェル(M-x shell)を使用して、SSH経由でリモートホストに接続しています。いくつかのコマンドラインツール(主にpsql、postgresqlコマンドラインインターフェイスですが、たとえばmanも同じ)を起動すると、シェルから次の警告が表示されます。 WARNING: terminal is not fully functional - (press RETURN) 私の知る限り、これはポケットベルの問題のように見えます。ページャを変更しcat、私の中.emacsのファイル: (setenv "PAGER" "/bin/cat") これらのメッセージを取り除くのに役立ちましたが、ローカルコマンドに対してのみです(そして、ポケットベルとしてcatを使用してもかまいません)。Emacsのローカルインスタンスは1つしかないので、リモートホストで別のポケットベルを使用する方法はありますか?または、可能な場合に切り替えることなく、警告メッセージを取り除くための他の方法ansi-term?助けになるなら、私はGNU Emacs 24.3.1を使っています。
8 tramp  shell 


3
Macで実行されているEmacs内で生成されたターミナル/シェルをネイティブターミナルの環境変数を継承させる方法は?
Macの端末、つまりSpotlightまたはLaunchpadを介して生成された端末は、でのカスタマイズを含む必要な環境変数を採用します~/.bash_profile。私は(Emacsの実行時にでもEmacs.appから取られたのEmacs用のMac OS X)とその内部に産卵シェル(いずれかを使用してshell、eshellまたはをterm)先に述べたように、シェルは同じ環境変数を採用していません。 私は、シェルが起動して、それがEMAC(例えばのものと、そのシェルの環境変数の値が同じ、このためであることをプロセスからその環境を採用していることを実感します(getenv "PATH")) 内容の内側に進出Terminal.appし、Emacs.app私は幸運取得できませんでした。 Terminal.appEmacs内で生成されたシェルで取得したのと同じ環境変数を自動的に取得するにはどうすればよいですか?また、ターミナルからEmacsを起動することは好みません。 (これはMacOSXっぽすぎて、答えがEmacsの外にある解決策/微調整を提案する可能性があることを理解しています。しかし、質問はEmacsに関係しているので、このサイトを選びました)

1
メジャーモードを変更せずに構文の強調表示を変更しますか?
python-shellを起動したいM-x python-shell。構文の強調表示に不満がある場合、メジャーモードを変更せずに構文を強調表示する(バッファーに色を追加する)ことはできますか?vimでは、これはで簡単set filetype=pythonです。 Python構文自体はpython-shellモードでは強調表示されません。強調表示してください。 私はemacsについて学習しているだけなので、簡単な解決策が好まれます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.