Emacs

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

4
別のコンピューターで同じEmacs環境を取得する方法は?
私はEmacsの初心者です(今では約2週間使用して愛しています)。~/.emacs.d/init.elファイルを更新および展開するとき、そこに書き込む内容はM-x package-install、を使用してMELPAからインストールした特定のパッケージ、および自分で作成したファイルなどによって異なります.el。 私の質問は、たとえば将来、コンピューターを切り替える必要がありますか?新しいコンピューターで現在とまったく同じEmacs環境をシームレスに取得する最良の方法は何ですか?
16 init-file  config 

2
Magitで別のコミットからファイルをチェックアウトする方法
foo.txtbranch Aにファイルがあり、branch foo.txtからBインデックスにチェックアウトしたいです。コマンドラインで、次のようにします。 $ git checkout B -- foo.txt ログに記録し、興味のあるコミット(例l o B)を見つけfoo.txt、コマンドを見つけて実行することで、これをmagitで実行できるようにしたいのですが、その方法がわかりません。
16 magit 

2
defcustomを適切に使用するには?
ほとんどのEmacsユーザーと同様に、変数を変更してモードをカスタマイズしました。私が思いつかなかったのは、カスタマイズ可能なあれこれの背後にあるプログラミング精神全体です。これは、eshellのソースコードの一部を調べ始めたときに実現しました。私はelispのプログラマーないんだけど、特にem-ls.el使用するようでdefcustom、defgroupこれはelispのコードが使用することをグローバルに定義された変数の影の世界のように見えるだろうなど、。だから、1つの質問は、defcustom(カスタマイズ可能な)グローバル変数を行う別の方法を使用していますか? 誰がdefcustom、背後にあるアイデア全体を適切に使用する(最初に理解する)方法、使用するとき、なぜ、いつ使用しないかについて点灯するように私に指摘できますか?たぶん、elisp初心者向けの初心者の例でしょう。
16 elisp  defcustom 

1
emacsクラッシュをデバッグするにはどうすればよいですか?
パッケージ1の関数を使用するとemacsがクラッシュする理由をデバッグしています。このデバッグプロセスの目的は、を使用して送信する有用なデータを取得することですM-x report-emacs-bug。 emacsのクラッシュをデバッグする方法についてのヘルプを得るために、Emacs Manual-CrashingおよびEmacs Manual-After a Crashを既に見てきましたが、彼らは助けませんでした。 Aクラッシュ後のマニュアルは、を意味しemacs-buffer.gdbますが、私はそれを使用する方法が分かりません。Googleに助けを求めている間に、このemacs.SEの質問に出会い、-ggdb3フラグを使用してemacsを再コンパイルしました。 私は以前に使用gdbした経験がないため、emacs-buffer.gbdファイルを使用しようとして失敗したことはほとんどありませんでした。 ここに私が試したものがあります: gdb -x /path/to/emacs-buffer.gdb gdb -> file /path/to/emacs-buffer.gdb gdb -> source /path/to/emacs-buffer.gdb source /path/to/emacs-buffer.gdb ちなみに、-ggdb3フラグ付きでコンパイルされたemacsのロードには約10秒かかります。以前は5〜6秒でしたが、現在は約16〜17秒です。私の初期化でそれを計算するコードのために、正確な秒を知っています。この起動時間の増加は予想されますか? 脚注1:undo-tree特定の.orgファイルの取り消し履歴を復元しようとすると、emacsは一貫してクラッシュします(これを公開することはできません)。持ってい(setq undo-tree-auto-save-history t)ます。このクラッシュはemacs git masterでのみ発生し、emacs 24.5では発生しません。emacs 24.5では、undo-tree(元に戻す履歴ファイルが存在する場合でも)元に戻す履歴を読み込めないことを示すエラーがスローされますが、少なくともそのバージョンではemacsセッションはクラッシュしません。
16 debugging  gdb 


4
`exchange-point-and-mark`の有用性は何ですか?
exchange-point-and-markコマンドがにバインドされているC-x C-xが、私はそれは、このような著名な結合に値するなるだろう任意のユースケースを考えることはできません。 を使用しexchange-point-and-markて編集テクニックを改善するにはどうすればよいですか?

2
バグトラッカーjiraを使用した組織モード
でjiraを使用することに熱心ですorg-mode。org-jira-modeは潜在的な候補のように見えますが、私HTTP RESTはほとんどのシナリオで使用し、soapプロトコルのために頭を悩ませたくありませんorg-jira-mode。 プロトコルを 介して通信する他のjiraプラグインはあり restますか?
16 org-mode 

3
Elisp正規表現^および$ vs `および '
マニュアルでは、正規表現の特殊文字^とについて説明してい$ます。私が知っているほとんどの正規表現方言のように、それらは文字列の開始または終了に一致するようです。しかし、私もそこにあることを発見した`と'の文字が利用可能。ここにある説明に基づいて、文字列の開始または終了にも一致するようです。誰かがこれらの特殊文字の違いを、それらを使用する場合の例と推奨事項とともに説明していただけますか? の値を見ると、auto-mode-alist文字列の終わりに一致するように交換可能に使用されているようです: (... ("\\.scss\\'" . scss-mode) ("\\.ya?ml$" . yaml-mode) ...)

3
リスト内の要素番号を取得する方法は?
Q:リストで要素番号を取得するにはどうすればよいですか? nthリストから要素番号nを取得します。 (nth 2 '(a b c d)) ; => c 私は逆にしたい:要素を指定して要素番号を取得する: (some-function 'c '(a b c d)) ; => 2 見逃したかもしれませんが、そのような機能はありますか?これをどのように行うのでしょうか?
16 elisp 

2
ネイティブelispを使用してemacsをアクティブ化(前面に移動)できますか?(たとえば、別のプログラムで作業している場合)
特定の状況で、emacsを強制的にアクティブにし、葉状体に購入させ、フォーカスを「盗む」ことを望みます。たとえば、組織-ポモドーロを終えたとき、または重要な予定のリマインダー中。 今、私は外部の依存関係を減らすために、そうするための「ネイティブ」な方法を探しています。(Linuxだけで問題ありません。クロスプラットフォームの方が良いでしょう)。 これは、emacs内から技術的に可能ですか? [編集]解決策: GUIを使用している場合、これはうまく機能します。 (x-focus-frame nil) [歴史的な理由から...]私は試しました: フレームの可視性(機能しません) (make-frame-visible) そしてまた: (make-frame-invisible) (make-frame-visible) しかし、これらはEmacsがすでにアクティブになっている場合にのみ機能するようです。 フレーム上げ(機能しません) フレームを下げると、実際にはemacsが隠されるようです。 (lower-frame) ただし、タイマーからフレームを上げることはできません。すなわち、何も起こりません。 (raise-frame) 上げる前に「activate-emacs」が欠落しているようです。 [外部ソリューションに関する注意] 現在、(回避策/解決策として)私は少しelispを使用しています: (call-process "activateEmacs") そして、それぞれのbashスクリプト:(最初にシステムにxdotoolをインストールする必要があるかもしれません) #!/bin/sh sleep 0.5 xdotool search --onlyvisible --class emacs windowactivate
16 frames 

3
キーワードの作成方法は?
Q:どのように作成して使用し:keywordsますか? 次のおもちゃリストにアクセスしようとする(単純な、明らかに)試みを検討してください。 (setf alist '((:key-1 "Key no. 1") (:key-2 "Key no. 2"))) (assq :key-1 alist) ; => (:key-1 "Key no. 1") (assq (make-symbol ":key-1") alist) ; => nil 最初のキーは期待どおりに機能しますが、2番目のキーは機能しません。明らかなmake-keyword機能がない限り、どのようにキーワードを作成して使用しますか? 当初の動機:文字列を、putプロパティであるシンボルであるルックアップキーに変換する必要があります。 この質問を定式化する過程で、回答の少なくとも一部に到達しました。これは個別に投稿しています。私は私の心がそれを改善することができるより明るい心を願っています。
16 elisp  symbols 


1
バッファの表示/フォーカス状態を知る方法は?
私は外部プロセスと通信する拡張機能を書いているので、バッファがフォーカスされていないときの「ちょっと元気」のリクエストの量を減らすことは当然のことです。 だから、認識するための最良の方法は何ですか: バッファが表示されフォーカスされているとき バッファーは表示されているがフォーカスされていない場合 バッファーが表示もフォーカスもされていないとき
16 elisp  buffers  focus 

3
コンパイルモードの現在のディレクトリを自動的に変更しますか?
現在、私のコンパイルコマンドは次のとおりです。 cd ~/somedir && ./somescript.sh これにより、emacsはエラーが発生したファイルを見つける(および開く)ことができなくなります。 もちろん、M-x cd手動で実行できますが、現在のディレクトリをプログラムで変更するようにバッファに指示する方法はありますか?

3
Gitコンフリクトマーカーが含まれているファイルのediff-ingを開始する方法は?
コマンドラインでのgitマージの試行に続いて、ファイルには標準の競合マーカーが含まれており、emacsはこれを使用してバッファーに再ロード(元に戻しました)しています。 競合を解決するために、ある種のマージモードを開始するにはどうすればよいですか?ediff-filesのように、ファイルの左/右/マージされたバージョンを示す個別のバッファーを取得できますか? (Macの場合、emacs-prelude v24.4)
16 git  ediff  prelude 

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