Emacs

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

1
下位Emacs Lispモードでのセッション間の履歴の記憶
*ielm*セッション間のバッファーの履歴をEmacsに記憶させることができません。私の知る限り、そのような履歴はバッファローカル変数に記録されますcomint-input-ring。したがって、私は私のinitファイルに次の式を追加しました: (setq desktop-locals-to-save (append desktop-locals-to-save '((comint-input-ring . 50)))) 動作しません。desktopEmacsがdesktop-globals-to-saveinitファイルに追加したグローバル変数を記憶しているため、パッケージが機能していることがわかります。 - 編集:savehistどちらも機能しません。それはcomint-input-ringバッファローカル変数だからだと思います。

1
デバッグシンボルを使用してemacsをコンパイルする方法
gdbでemacsソースコードを確認するのに問題があります。デバッグシンボルがないと思います。 https://stackoverflow.com/a/4298982/2752242からの提案に従って、私は試しました: ./configure CFLAGS="-ggdb3 -O0" CXXFLAGS="-ggdb3 -O0" LDFLAGS="-ggdb3" --with-gif=no --prefix=$HOME/local/apps/emacs-24.4/ しかし、それはうまくいきませんでした。 デバッグシンボルを使用してコンパイルする手順はありますか?ありがとう!
9 debugging 

2
組織モードでisearchが折りたたまれたコンテンツをスキップするようにする
Q:バッファーisearch内のデフォルトで折りたたまれたブロックの内容を無視するようにするにはどうすればよいorg-modeですか? より具体的には、コメントブロックと引き出しのisearch内容を無視したいと思います。ドキュメントを作成するとき、コメントブロックとカスタム引き出しを使用して、書いているテキストに関するさまざまな種類のメモを保存します。内容が邪魔にならないように、デフォルトで折りたたんでいます。org-mode (add-hook 'org-mode-hook #'org-hide-block-all) これは非常にうまく機能しますが、org-mode私が使用している文字列に一致するものが含まれている場合でも、これらのブロックの展開を停止しませんisearch。

3
行末に移動し続ける
キーバインディングのデフォルトはC-a/C-e、行の最初/最後に移動するためのものです。Emacsを次のように動作させるパッケージがあります。 行末でない場合は、行末にC-e移動します。それ以外の場合は、次の行の最後に移動します 行の先頭にいない場合C-aは、行の先頭に移動します。そうでない場合は、次の行の先頭に移動します。 重要なのはC-a/e、指を動かさずにすべての行の先頭/末尾に移動するために、たたき続けるだけC-n/pです。 そして、prefix(C-u)を使用すると、行の最初/最後に反対方向に移動します。

1
`delete-duplicate-lines`に空白行と特定の単語を無視させる
私はorg-modeでテキストを編集していますが、同じトピックの異なるファイルの一部であるため、数行が繰り返されています。 を使用delete-duplicate-linesして繰り返し行を削除したいのですが、このコマンドは空白行も削除します。これは私が望まないことです(そうしないと、段落がありません!)。"Resume"のように、行に単独で存在する特定の単語を無視したいのですが、テキスト内で何度も繰り返されますが、必須なのでそれを保持したいと思います。

2
特定のファイルを変更を自動的かつサイレントに受け入れるように設定できますか?
つまり、ディスク上でファイルが変更されたことをEmacsに通知させたくない特定のファイルを指定して、変更を受け入れるかどうかを尋ねることができますか?これをグローバルに実行したくないのは、Emacsの外部で頻繁に変更されることがわかっているファイル(特に、カレンダー関連のOrgファイル)だけです。

2
Emacsバージョン間のバイトコードの移植性
同じホームディレクトリからEmacsの複数のバージョンを実行することがあります。バイトコンパイルされたファイルがたくさんあります。バイトコードはEmacsのすべてのバージョン間で互換性があるわけではない.elcため、バージョン範囲ごとにファイル用に個別のディレクトリを保持しています。 バイトコードが互換性のあるバージョン範囲は何ですか?私は現在持っています gnu-19.29 gnu-20 gnu-21 gnu-22 gnu-23 gnu-24 source x-19 x-20 x-21 つまり、19.29でさらに分離された各メジャーリリース用のディレクトリ(このマシンでは古いバージョンを使用したことがないため、そうでない場合はありますgnu-19)と、GNU EmacsとXEmacs用の個別のディレクトリです。しかし、私はおそらく過度に用心深いです。 Emacsのバージョン間のバイトコードの互換性に関する公式のポリシーは何ですか?自信を持ってメジャーバージョンを使い続けることはできますか?一部のバージョンをマージできますか?Emacsのバージョンに依存するのではなく、コンパイルしてディレクトリ名を作成するときにクエリできるバイトコードバージョンの表示またはチェックサムはありますか? 私は、下位互換性だけでなく、主に完全な互換性に関心があることに注意してください。Emacs 27.3を実行していくつかのファイルをバイトコンパイルし、その後同じホームディレクトリでEmacs 27.2を実行する可能性があります。


2
開いているすべてのファイルを一覧表示したdiredバッファーを作成するにはどうすればよいですか?
diredバッファからアイテムをディスクに書き込むメカニズムがあります。残念ながら、私がパッチを当てたファイルはファイルシステム全体に散らばっています。dired開いているすべてのファイルからバッファを作成するにはどうすればよいですか?
9 buffers  dired  files 

2
プロパティ化/オーバーレイするテキストがないウィンドウの場所に一時的なテキストがありますか?
Q:ウィンドウの画面の位置にテキストを表示せずに一時的にテキストを表示/オーバーレイするにはどうすればよいですか? 私はテキストプロパティとオーバーレイの背後にある基本的な考え方に精通しており(このスレッドも参照)、それらを何度か使用していますが、決してそれに慣れているわけではありません。私の限られた理解は、プロパティ化またはオーバーレイするにはテキストが必要であるということですが、テキストが含まれていないウィンドウのセクションをどのように使用するのか疑問に思っています。 次に例のスクリーンショットを示します。 スクリーンショットの赤いボックスの1つ(つまり、テキストの右側、またはバッファーの最後の行の下)に(一時的に)テキストを配置するにはどうすればよいでしょうか。

3
elispで複数行のドキュメント文字列を処理するより良い方法はありますか?
elisp(一般的にLISPかどうかは不明)が複数行のdocstringを処理する方法が嫌いです。 (defun foo () "This is a multi liner docstring" (do-stuff)) 私は私が何かをすることができることを願っています (defun foo () (eval-when-compile (concat "This is\n" "a multi\n" "line\n" "docstring")) (do-stuff)) インデントが一貫するように。 残念ながら、eval-when-compileは機能しません。 誰かアイデアはありますか?

3
プロンプトと以前の出力をシェル/タームモードで編集できないようにする方法はありますか?
これは明らかに表面的な質問です。 けれどもansi-term、私はそれを最初に開いたときに正しく動作して開始し、それは私がないとき、例えば、いくつかのコマンドの後に「編集可能」モードに分解すると思われるC-a(行の先頭)が続くC-k(キルライン)、それは全体のプロンプト一掃します。 私の美的健全性のために、プロンプトと以前の出力を(のshell)編集不可にする方法はありますか?(意味のある違いを考慮して、ansi-termを除外するように更新されました。) 私はEmacs 24.4でzshを使用しています。OSは、Virtual Boxを介したLXDE(Ubuntu 14.04)です。 (理想的には、引き続きカーソルを移動できます...)

1
HelmおよびLaTeXモード
コマンドを実行するとLaTeX-environment(C-c C-eデフォルトでバインドされます)、Helmは関連するすべての環境のリストから適切に選択します(つまり、Helmがオンになっていない場合と同じリストです)。プロンプトは "Environment type:(default foo)"と表示されます。ここで、 'foo'は格納された値ですLaTeX-default-environment(これは、最後にを呼び出したときに使用したものに設定されますLaTeX-environment)。ただし、ここでreturnを押すと、Helmバッファの最初のエントリである「抽象的な」環境が表示されます。 Helmを尊重する方法を教えてLaTeX-default-environmentください。
9 helm  latex 

2
文の終わりに2スペースの規則と1スペースの規則を使用した機能の違いはありますか?
Q:設定しない実用的な理由は何ですか?sentence-end-double-spacenil 2つのスペースで終わらない文を認識することについて最近復活したスレッドは、この質問に影響を与えました。 文章のEmacsマニュアルノードでは、文章コマンドは、アメリカのタイピストが文章の最後に2つのスペースを置くという規則(たとえば、1つのスペースというフランスの規則とは対照的)を使用することを前提としています。2つのスペースの慣習に対する/反対の議論は明らかにかなり論争的になります(たとえば、このスレートピース)。 LaTeXにタイプ設定を処理させる限り、特に外観は気にしませんが、2スペースの規則は筋肉の記憶に打ち込まれます。しかし、テキストを他のソース(Webページなど)からEmacsバッファーに貼り付けると、ほとんどの場合、1スペースの規則に従います。それはある意味、自分とどう違うのかという点で不愉快なことであり、現実に対処sentence-end-double-spaceするように設定したくなりnilます。しかし、そうした場合、何かが壊れるといつも思っていたので、私は持っていません。私はその仮定について確固たる根拠がありません。 だから:に設定sentence-end-double-spaceするための機能の損失の面で実際的な結果はありますnilか?私が考えることができる唯一の重要な変更は、fill関数が2スペースの規則を1スペースの規則に変更することです。

1
キー「コード」からキーボードの同等性に戻るにはどうすればよいですか?
次のドキュメントがあります。 mc/keymap is a variable defined in `multiple-cursors-core.el'. Its value is (keymap (67108903 . mc-hide-unmatched-lines-mode) (27 keymap (118 . mc/cycle-backward)) (22 . mc/cycle-forward) (return . multiple-cursors-mode) (7 . mc/keyboard-quit)) Documentation: Keymap while multiple cursors are active. Main goal of the keymap is to rebind C-g and <return> to conclude multiple …

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