Emacs

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

3
キーボードマクロをLisp関数として保存する方法は?
非常に頻繁に、複数のキーストロークを必要とする一連の手順を実行する必要があります。同じセッションの場合、これらのステップはキーボードマクロに記録できます。 例として、頻繁に実行される検索/置換操作をキーボードマクロとして保存します。しかし、emacsを終了すると、そのマクロは失われます。 頻繁に使用するキーボードマクロをLisp関数として保存するにはどうすればよいですか? 簡単にするために、関数として「abc」を「def」に置き換えるアクションを保存して、emacsセッション全体で再利用できるようにします。

1
非常に遅いEmacsをトラブルシューティングするにはどうすればよいですか?
私はドキュメントを書いていますが、昨日登場したと思うEmacsのパフォーマンスに問題があります。initファイルに変更を加えたり、新しいパッケージをインストールしたりしていません。 問題は、執筆中に、キーボードの文字を押してから画面に表示するまでに非常に顕著な遅れがあることです。単語を入力し終わった後でも、画面に印刷されているのを見ることがあります。 タイピングの速度以外の問題があるかどうかはわかりませんが(あるとしか推測できません)、気づいていません。 この問題の原因は何ですか? それはEmacsによるものですか、それとも私のPCのパフォーマンスによるものですか?一般的に、Emacsのパフォーマンスに影響する変数は何ですか? 私のEmacsのバージョンはGNU Emacs 24.3.1です 主なアクティブモードは次のとおりです。 ラテックス マイナーアクティブモードは次のとおりです。 オートコンプリート 自動構成 自動圧縮 自動暗号化 点滅カーソル ファイル名シャドー フォントロック グローバルオートコンプリート グローバルフォントロックグローバルHlライン 行番号 マウスホイール Shell-Dirtrack ショーパレン Smartparens Smartparens-Global ツールチップトランジェントマーク

3
起動時間を短縮するにはどうすればよいですか?
起動時間を短縮するためにできる基本的なことは何ですか? その点で、特に注意すべき点はありますか? 注:起動時間は、Emacsをあまり頻繁に起動せず(セッションごとに1回)、実行中のインスタンスでファイルを開くことで軽減できます。この質問は、セッションの開始時、またはEmacsの起動が必要な他の時のために、起動時間を最小限にすることに関するものです。 Stack Overflowで回答された同じ質問もご覧ください。質問と回答のスコアは50を超えており、30の「お気に入り」のブックマークがあります。ここでの良い答えは、Stack Overflowで利用できるものを超えるはずです。


2
elispに名前空間がないのはなぜですか?
Q: elispに名前空間がないのはなぜですか?どのようにして取得できますか? Elispには、グローバル以外の名前空間はありません。これにより、すべてのグローバル関数、変数、および定数に一意のプレフィックスを付けるというコーディング規則が生まれました。 迷惑な要因は別として、1)増え続けるすばらしいライブラリとパッケージ、2)プレフィックスの規則を尊重しないレガシー関数と変数の継続的な存在、または使用できる適切なプレフィックスオプションが実際にはないほど十分に特異です。また、(からclへの移行のようにcl-lib)古いコードを合理化しようとする定期的な試行は、重要な作業です。(クリーンアップはうれしいですが、のように入力するたびに涙を流しcl-findます)。 数十年使用してもelispにまだ名前空間がないのかどうかを調べてみましたが、適度な収穫には少し驚いていました。名前空間上のwikiページはかなり短いです。 Nic Ferrierはこの問題を少し長めに処理しており、emacs-develにもかなり最近のスレッドがあります。マクロを使用して名前空間を実装する可能性を議論する2010年の古いStack Overflowスレッドがあります。マクロアプローチの別の例はここで見つけることができます。少なくともいくつかの実装があります(こことここ、後者の説明はこちら)そこにありますが、彼らはここ数年あまり活動していませんし、私はそれらを使用するライブラリに出くわしていません。 名前空間の追加が簡単であれば、既に行われていると思います。そう: elispに名前空間を追加するための技術的な障壁は何ですか? 名前空間を追加すると、既存のコードの多くが壊れますか? この機能は、elisp(インタープリター自体の変更)に対して有機的である必要がありますか、それとも実際にマクロを介して構築できますか?
40 elisp 

9
Emacs Lispの学習を開始するにはどうすればよいですか?
バックグラウンド: 私はほとんどがviユーザーで、Emacsに移行しています。 基本を過ぎて、今度はR変換も行う予定のCおよびPythonでコードを書くために使用します。 私は大学院にいた20年以上前に(共通)LISPを書きましたが、今はひどく失望しています(こんにちは世界を書くことができますが、それだけです)。 質問: Emacs LISP環境を学び、Emacsのハッキングを始めるために、私の立場の人に何をお勧めしますか。 本、ブログ、読むべきリソース、やるべきエクササイズはありますか?

4
発射物からファイルを除外する方法は?
前奏曲のhelm-projectileセットアップを使用していますが、ワークフローが大幅に改善されました。残る唯一の問題は、helm-grepおよび同様の操作中に表示される自動生成ファイル(CMakeによって生成されたファイルなど)です。 質問:Projectileからプロジェクトフォルダツリーのファイルを除外する方法はありますか?
39 projectile 

2
組織モードでのインテリジェントなスペルチェック
デフォルトではM-x ispell-buffer、組織モードで実行した結果は非常に残念です。 Ispellは:PROPERTY:引き出しの内部を見ます :ID: 797495bd-581b-4a42-883b-c2a55a08f08a 組織ステートメントを修正しようとします!たとえばSRC、 #+BEGIN_SRC emacs-lisp それは組織ブロックの中に入ります。これはのようなブロックに役立つかもしれません#+BEGIN_QUOTEが、ソースコードのブロックではばかげています。 これをすべて修正するパッケージはありますか? 私は自分の文章のスペルチェックをしたいのですが、私が得ている誤検知の量はそれを実行不可能にします。 問題があれば、OSのスペルチェッカーはaspellです。

12
バッファ内の2つの場所を切り替える方法
ときどき、編集している2つの機能を互いに連動させて頻繁に切り替えていることに気づきます。これらの状況ではC-s <functionname>、他の機能に切り替えて、以前に編集していた正確な場所を見つけるためにを続けることは退屈で苦痛です。 マーカーを設定した後、バッファー内の2つの場所を簡単に行き来するにはどうすればよいですか?

7
ツリーベースのディレクトリブラウザ?
私はdiredが大好きですが、時々(特にスクリーンキャストを撮影するとき)ディレクトリとその子のツリー構造、la the tree(1)コマンドを見たいことがあります。Emacs用のツリー指向のディレクトリブラウザはありますか?


4
メジャーモードバインディングをオーバーライドする方法
時々、私のグローバルキーバインドはメジャーモードによって上書きされます。簡単な例は、私のinitファイルの次の設定です (global-set-key (kbd "C-j") 'newline-and-indent) しかし、面倒なことに、このキーバインディングは、スクラッチバッファのデフォルトモードである「Lisp Interaction」メジャーモードによって隠されています。 メジャーモード(またはマイナーモード)がグローバルキーバインドを隠している状況にいるとき、どのように戻すことができますか? 注:私の質問ではありません「私はバインドすることができますどのようC-jにnewline-and-indentLispの対話で『』モード?」 クラッシュするキーマップや、メジャー/マイナーモードによって非表示になるユーザーキーバインドを処理する方法に関する、より一般的な回答に興味があります。

2
IPython 5使用時の奇妙なシェル出力
IPythonの最新バージョンにアップグレードしたばかりで、emacsで使用すると何か問題が発生します。 通常の端末で使用する場合は正常に動作します(色、タブ補完など)が、M-x eshellまたはのいずれかでM-x shell、outputingの代わりにIn [1]:、実際に出力[?12l[?25hおよびにOut[1]出力し[J[?7h[?12l[?25h[?2004l[?7hOut[1]:ます。 IPythonで使用されるemacsでは利用できない端末の機能の一部かもしれませんが、どの機能かを知りたいのですが。 Terminal.app: In [1]: 2+2 Out[1]: 4 Emacs [?12l[?25h2+2 [J[?7h[?12l[?25h[?2004l[?7hOut[1]: 4
37 shell  eshell  ipython 


3
Org-modeで引用符付きの逐語的インラインコード
組織モードでは、テキストをインラインで囲む=か~、テキストをインライン逐語モードまたはコードモードで配置できます。 ただし、テキストに引用符が含まれていると失敗し、ドキュメントで説明や回避策を見つけることができませんでした。 例えば: =hello= 逐語的な表現 ~hello~ コードとしてレンダリング =hello'= 逐語的な表現に失敗する ~hello'~ コードとしてレンダリングできません 私がこれまで見つけた唯一の解決策C-x 8 <RET> 200b <RET>は、この質問で説明されているように、入力などの不可視文字を挿入することです。 これはなぜですか(バグですか?)、見えない文字を挿入せずにこの問題を回避するにはどうすればよいですか?
37 org-mode 

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