Emacs

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


2
emacs-lispバッファーのs式の自動更新値を表示するモードは何ですか?
emacs-lispバッファのモードがあり、各式の値を1行ずつ表示でき、式が編集されるとすぐに式の値を更新します。それは次のようになります: (+ 1 1)-> 2 (* 2 3)-> 6 このモードの名前は何ですか?私はそれを実際に見て使用しましたが、どのように呼び出されるかを忘れてしまいました。
8 elisp 

2
emacsの--no-waitと同等
emacsclientプログラムは、フラグができます--no-wait(と略す-nemacsのサーバーが指定されたファイルを訪問し、すぐに返すために発生します)。 emacsclient -n ~/.bashrc 代替エディターを提供した場合、Emacsサーバーが実行されていない場合でも機能します emacsclient -n -a "/usr/local/bin/emacs" ~/.bashrc ただし、サーバーが実行されている場合は、この呼び出しがすぐに返されるため、これにより一貫性のない動作が発生します。サーバーが実行されておらず、代替エディターが使用されている場合、呼び出しはブロッキング呼び出しになり、Emacsを終了するまで戻りません。 emacs(とは対照的にemacsclient)新しいフレームを作成してから戻るように指示する方法はありますか?

1
読み取り専用のテキストで始まるバッファの先頭にテキストを挿入しない
既存のEmacsパッケージを拡張していて、バッファーの一部を編集不可にしたい(読み取り専用)。実際、バッファの中央の1行だけを編集可能にしたいので、次のスニペットを使用してそれを実現しています。 (put-text-property (point-min) point-before-editable-text 'read-only t) ;; (put-text-property point-after-editable-text (point-max) 'read-only t) ただし、バッファの先頭にカーソルを置いて、目的の動作ではないテキストを挿入することはできます。 バッファの先頭での挿入を防ぐにはどうすればよいですか?

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バッファに切り替えて実行します …

1
キーボードを使用したマウス操作のシミュレーション
キーボードで呼び出すことができるコマンドを使用して、Emacsが特定の場所でクリックしたと思うようにする方法はありますか(リンクをクリックしたり、メニューをポップアップしたりして、そこでクリックした場合と同じように動作します) )?または、ポイントにマウスを置いた(ツールチップがポップアップした) [動機:一部のモードはバッファを装飾し、一部のテキストをリンクに変換します。私はマウスで何かをする方法を知っているかもしれません(たとえば、それをクリックする)が、呼び出す同等のキーボードショートカット/コマンドは知りません。もちろん、モードのドキュメントを読んで学ぶべきですが、興味深い質問だと思いました。]

2
Emacs 24のバイトコード関数のArgspecまたはArity
関数のアリティをテストするコードがあります。これを使用して、パッケージの最新バージョンで追加されたオプションの引数が存在するかどうかを判断します。subr-arity組み込み関数を呼び出し、バイトコードオブジェクトとラムダのarglistを解析します。 (defun function-argspec (func) (if (symbolp func) (setq func (indirect-function func))) (cond ((byte-code-function-p func) (aref func 0)) ((and (consp func) (eq (car func) 'lambda) (consp (cdr func))) (car (cdr func))) )) これはEmacs 23までうまく機能しました。Ubuntu14.04上のEmacs 24.3では、一部の機能ではうまく機能しますが、他の機能では機能しません。 (function-argspec 'revert-buffer) (&optional ignore-auto noconfirm preserve-modes) (require 'vc) vc (function-argspec 'vc-print-log-internal) 1283 どうやら、バイトコード形式がマニュアルに反映されていない方法で変更されました。 (symbol-function 'vc-print-log-internal) #[1283 …

2
コンパイルコマンドをカスタマイズするにはどうすればよいですか?
私のプロジェクトの1つではmake package install、ビルド時にの代わりに実行する必要がありmakeます。最後に使用したコンパイルコマンドは記憶されていますがmake -k、emacsが起動するたびにリセットされます。M-x compileデフォルトにカスタマイズするにはどうすればよいmake package installですか?

6
カーソルを動かさずにテキストを選択する
その場所からポイント(カーソル)を移動せずに選択範囲を拡大したいと思います。C-u C-spc以前の場所への移動にはいつでも使用できることはわかっていますが、それは避けたいです。 より具体的には、私はこれらの操作の両方を実行したいと思います: バッファ内のすべてのテキストを選択します 後続の行/段落を選択範囲に徐々に追加します カーソルをそのままの位置に保ちます。 Emacsにはこれのためのインタラクティブ機能がありますか?キーボードショートカットにバインドされていますか?
8 region  mark 

2
最も外側の境界でウィンドウを分割
新しいフルハイトウィンドウ分割を既存の(分割された)ウィンドウ構成に追加する方法を探しています。適切に説明する方法がわからないので、2つのウィンドウ構成例の望ましい動作を示すASCIIグラフィックを投稿します。 from to +-------------------------+ +---------------------+---+ | | | | | | | | | | | A | => | A | E | | | | | | | | | | | +-------------------------+ +---------------------+---+ +------------+------------+ +----------+----------+---+ | | B | | | B | | | A +------------+ …
8 elisp  window  frames 


2
ヘルムリストのバッファ情報を切り捨てる方法
たくさんのバッファを開いhelm-miniていて、それらを調べてみると、深くネストされたバッファまたはトランプバッファが水平方向のスペースを取りすぎて、次のように折り返されていることに気づきます。 これらの行を折り返さないように切り詰めるにはどうすればよいですか?truncate-linesヘルムバッファーが開いているときに切り替えても、効果はありません。
8 helm 

1
emacsclientが毎回新しいフレームを開始するのを防ぐ方法は?
Emacs 24.3でUbuntu 12.04を実行しています。コンピューターの起動時にemacs --daemonが実行され、execパラメーターとしてemacs24.desktop受け取るemacsclient -c -a ""ように変更しました。ただし、ファイルを開こうとすると、常に新しいフレームが開きます。 ファイルを既存のフレームに新しいバッファーとして表示する方法はありますか? 「ファイルを開く」私はどちらかのGUIのファイルマネージャを使用したりすることにより、端末使用を意味するemacsclient -nc [filename]かをemacsclient -nc -a "" [file]。 編集:起こっているように見えるのは、emacsがすべてのファイルで(Emacsフレームのように)新しい「OSウィンドウ」を開いていることです。ただし、同じemacsフレーム内のすべてのバッファーにアクセスできます。それでも、切り替える必要がないにもかかわらず、複数のemacsフレームがイライラすることがあります。フレームを手動で閉じると、バッファも削除されます。 毎回新しいフレームを開く動作を抑制する方法はありますか?

3
ポータブルElispの作成
理想的には、.emacs.dディレクトリのコンテンツ全体を保存し、ロードしたEmacsで「そのまま」機能させながら、GUIウィンドウシステムなどの特定の環境の機能を利用したいのです。 互換性のない機能の百科事典を探しているのではありません。機能、OS、バージョン、グラフィックスなどを確認する方法と、他の構成のコードを壊さずにこれらを利用する方法を知りたいのですが。 プラットフォームを活用しながら、一般に普及しているEmacsの複数のバージョン(22.x +など)および複数の基盤となるプラットフォーム(OSX、Linux、Windows、その他の* nixなど)で機能するElispを作成するために使用できる基本的なテクニックおよび該当する場合はバージョン固有の機能?

1
EmacsをSwiftでiOS開発用に設定するにはどうすればよいですか?
私はSwiftを使用して、iOSの仕事をすぐにやるつもりです(そうです!)。残念ながら、これには通常xcode(boo!)が関係します。 Emacsを設定してSwiftでiOSアプリを構築するにはどうすればよいですか?理想的には、それらは私のテストデバイスで自動的に実行されます。オートコンプリートのようなより高度な機能もいいですが、重要ではありません。
8 osx  development  ios 

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