Emacs

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

1
Emacsパッケージ開発に適したツールは何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 テストに特に役立つツールについてはすでに質問がありますが、実際にコードを書くことについてはどうでしょうか?どのパッケージが開発をスピードアップしていますか?プロジェクトをすばやく簡単にナビゲートして理解するには、どの支援を使用しますか?

3
元に戻す履歴を折りたたむ方法は?
私は、音声認識でEmacsを制御できるEmacsモードに取り組んでいます。私が遭遇した問題の1つは、Emacsが元に戻す操作を処理する方法が、音声で制御するときの動作の期待と一致しないことです。 ユーザーがいくつかの単語を話してから一時停止すると、それは「発話」と呼ばれます。発話は、Emacsが実行する複数のコマンドで構成される場合があります。多くの場合、認識エンジンが発話内の1つ以上のコマンドを誤って認識します。その時点で、「元に戻す」と言って、発話内の最後のアクションだけでなく、発話によって行われたすべてのアクションをEmacsで元に戻すことができます。言い換えれば、発話が複数のコマンドで構成されている場合でも、アンドゥに関する限り、Emacsが発話を単一のコマンドとして扱うようにします。また、発話前の正確な場所に戻りたいのですが、通常のEmacsの取り消しではこれが行われないことに気付きました。 各発言の最初と最後にコールバックを取得するようにEmacsをセットアップしているので、状況を検出できます。Emacsに何をさせるかを把握する必要があります。理想的には私のような何かを呼びたい(undo-start-collapsing)し、その後(undo-stop-collapsing)、何完了挟んは魔法のように一つのレコードにまとめられます。 ドキュメントをいくつか探して見つけましたundo-boundaryが、それは私が望むものの反対です-発話内のすべてのアクションを、それらを分割せずに1つのアンドゥレコードに折りたたむ必要があります。undo-boundary発話間で使用して、挿入が個別と見なされるようにすることができます(Emacsは、デフォルトでは連続する挿入アクションをある制限までの1つのアクションと見なします)が、それだけです。 その他の合併症: 私の音声認識デーモンは、X11キー押下をシミュレートすることによっていくつかのコマンドをEmacsに送信し、いくつかのコマンドをemacsclient -eそのように送信します(undo-collapse &rest ACTIONS)。 を使用しますがundo-tree、これにより事態がさら​​に複雑になるかどうかはわかりません。理想的には、ソリューションはundo-treeEmacsの通常のアンドゥ動作で動作します。 発話内のコマンドの1つが「元に戻す」または「やり直し」の場合はどうなりますか?コールバックロジックを変更して、これらを常に個別の発話としてEmacsに送信して、物事をよりシンプルに保つことができると考えています。キーボードを使用する場合と同じように処理する必要があります。 ストレッチ目標:発話には、現在アクティブなウィンドウまたはバッファを切り替えるコマンドが含まれる場合があります。この場合、各バッファで個別に「元に戻す」と言う必要がありますが、それほど派手である必要はありません。ただし、単一のバッファー内のすべてのコマンドはグループ化する必要があります。したがって、「do-x do-y do-zスイッチバッファーdo-a do-b do-c」と言うと、x、y、zは1つの取り消しになります。元のバッファのレコードとa、b、cは、バッファに切り替えられた1つのレコードでなければなりません。 これを行う簡単な方法はありますか?AFAICTには何も組み込まれていませんが、Emacsは広大で深い... 更新:少し余分なコードを追加して、以下のjhcのソリューションを使用することになりました。グローバルでbefore-change-hookは、変更されているバッファがこの発言を変更したバッファのグローバルリストにあるかどうかをチェックし、そうでない場合はリストに入れてundo-collapse-begin呼び出されます。次に、発話の最後に、リスト内のすべてのバッファーを反復処理し、呼び出しますundo-collapse-end。次のコード(md-名前空間のために関数名の前に追加): (defvar md-utterance-changed-buffers nil) (defvar-local md-collapse-undo-marker nil) (defun md-undo-collapse-begin (marker) "Mark the beginning of a collapsible undo block. This must be followed with a call to undo-collapse-end with a marker eq to this …

4
揃えられたキーワードをインデントする方法は?
おそらくClojureの影響を受け、データ構造としてプロパティリストをより頻繁に使用します。Emacsはほとんどの場合、このようにインデントします。 `(:token ,token :token-quality ,quality) , これは私が好むものです `(:token ,token :token-quality ,quality) . だから、誰かがすでにこれに取り組んでいるのだろうか?
17 elisp 

3
インクリメンタル検索中のオカレンス数の取得(Cs / isearch-forward)
最近のブラウザに触発され、私が見ることができるようにしてみたいか「37の10」のように下のスクリーンショットの右上隅にある-私はそれを検索したときに、いくつかの文字列であり、多くの出来事。 Emacsでこれを取得する方法はありますか?おそらく、遅くならないように、アイドル時間後にのみ実行する必要があります。
17 search 


1
emacs `shell-mode`はsudoのプロンプトをどのように知るのですか?
ではshell-mode、次のようなコマンドをsudo CMD言ってエコー領域にプロンプトを開きます: [sudo] password for root: これを行う方法はどのようにわかりますか?私の知る限り、ビルトインはそのようなプロンプトを作成しないsudoので、この動作は通常のように単純に実行することから立ち上がることはできませんread。
17 shell-mode 

1
文字列から装飾(テキストプロパティ)を削除する方法は?
「装飾文字列」とは #("foo" 0 4 (fontified t face font-lock-function-name-face)) ...「プレーン文字列」とは対照的に "foo" (Elispコードがバッファから文字列を直接読み取る場合、このように装飾されている可能性があります。) 装飾された文字列を単純なものに変換する最も簡単な方法は何ですか(すべての装飾を取り除くことによって)?

2
set-mark-command(C-SPC)が認識されない/壊れている
次のトラブルシューティングを開始する方法を知りたい: C-SPC何もしていない。 入力するとミニバッファーに表示されませんが、にM-x set-mark-commandバインドされているように表示されC-SPCます。 環境 Homebrewを介してGNU Emacs(24.5.1)をインストール.emacs.dしましたが、Clojure for the BraveおよびTrueに基づいていくつかの追加パッケージがあります。 これまでの手順 私はまず、何の影響もなしに削除と再インストールを試みました。 追加情報 すべてのインストール済みパッケージのリストは、以下のスクリーンショットにあります。
17 osx 

2
Ediffで両方のバリアントを使用する方法は?
Ediffインターフェースには+ボタンがありますが、何もしないようです(ミニバッファーを押すと常に「nil」と表示されます)、このボタンは結果バッファーで両方のバリアントを使用するためのものだと思いました。 とにかく、元の質問は次のとおりです:バッファーAとBの両方のコンテンツをバッファーCに入れることで、Ediffでマージ競合を解決するにはどうすればよいですか(Cを編集することはできますが、これをもっと簡単に行えることを願っています)。 ファイルAがこれだとします: 同じ行 別の行 同じ行 ファイルBは次のとおりです。 同じ行 別の行 同じ行 AをBにマージした結果のファイルCが次のようになるようにします。 同じ行 別の行 別の行 同じ行
17 ediff 


1
入力中に適切なCコメントブロックを自動的に作成する方法
複数行コメントの入力を開始すると、Eclipseなどの一部のコードエディターは自動的に適切なブロックを形成します。 emacsでこれを行うためのパッケージや別の方法もありますか? 編集:明確にするために:コメントブロックを挿入するキーの組み合わせは必要ありません。を押しRETたときにコメントブロックが自動的に作成されるようにします/*。

2
確認なしでプロセスバッファを強制終了しますか?
にC-x C-kバインドしていkill-this-bufferます。しかし、PythonやMySQLのようなプロセスを実行しているバッファに入ったら、C-x C-kそれを尋ねる バッファ「* Python *」には実行中のプロセスがあります。殺す(yまたはn)? 確認なしでプロセスバッファを強制終了するにはどうすればよいですか?


2
.gpgファイルを開くときにのみパスワードを入力する方法
(私は以下のセキュリティへの影響を理解しており、それらには問題ありません。) orgディレクトリに暗号化されたファイルが1つありますdiary.org.gpg。動作するように特別な設定をしたことはありませんが、 ファイルにアクセスするたびに、暗号化パスワードの入力を求められます。それは素晴らしいです。 バッファーを保存するたびに、もう一度パスワードの入力を求められます。それが私の問題です。 これが機能するように何も設定していないことに注意してください。そのため、エージェントまたはキーリングに関する回答には設定手順が必要です。 パスワードをファイル内のどこかに(ヘッダーまたはファイルの終わりのコメントで)書き続けることを考えました。そうすれば、保存するたびに、Emacsはバッファー内のパスワードを読み取り、プロンプトを表示する代わりにそれを使用できます。しかし、私がこれを調べ始めたとき、私は内部のどこかに完全に迷子になりましたepa.el。 Q:バッファーを保存するときに、プロンプトが表示される代わりに、Emacsから暗号化システム/プロセスに直接パスワードを送信するにはどうすればよいですか? 残りのすべて(バッファー内のパスワードの検索)私は自分自身を把握できます。Emacsがgpgとどのようにインターフェースを取っているのかを理解しようとすると、迷子になりました。 Ubuntu、Arch Linux、およびWindowsを使用していることに注意してください。これが、私の最初のアイデアがemacs中心のソリューションであった理由です。 手動でそのファイルにアクセスできる限り、Windowsで動作しないソリューションを使用できます。
17 encryption  epa  gpg 

6
OSXでのEmacsとコマンドラインの$ PATHの不一致
PATHHaskell環境に影響を与えるEmacsの設定に関する問題がある: ZSHを使用しecho $PATHていますが、コマンドラインに移動してを呼び出すと、次のように返されます。/Users/g/Library/Haskell/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin これは.zprofile私が持っている構成から来ています: # Set the list of directories that Zsh searches for programs. path=( ~/Library/Haskell/bin /usr/local/{bin,sbin} $path ) だから、コマンドラインから、を呼び出すとwhich cabal、正しく取得されます:/Users/g/Library/Haskell/bin/cabal Emacsを起動してandにアクセスするshellとwhich cabal、次のように/usr/bin/cabalなります。バージョンが異なるため、問題が発生しています。 echo $PATHEmacsから検査するとshell、次のように表示されます。/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/g/Library/Haskell/bin:/usr/local/sbin いったいどうPATH違うのか分からない... 誰も私のZSHシェルとEmacsが同じことに同意する方法を知っていますPATHか?それがどこcabalからロードされるかを制御しているのではないかと思う。 更新:echo $SHELLEmacsの出力から実行:/bin/zsh 更新2:これはOSX上にあります。 更新3:exec-path-from-shellモジュールを使用しようとしましたが、機能しません。私はまだ同じ問題を抱えていますが、副作用として、端末のテーマの色が台無しになります:( 更新4:Emacsをインストールしbrew install --cocoa --srgb emacs、この方法でリンクされたemacsを実行しました: ~ ❯❯❯ which emacs /usr/local/bin/emacs ~ ❯❯❯ l /usr/local/bin/emacs lrwxr-xr-x 1 g admin …
17 osx  shell  path  haskell-mode 

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