Emacs

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

3
Magitがハンクを2つのハンクに分割
SOにはmagitを使用してハンクを分割することに関する質問があります。指定された2つの解決策は、リージョンをステージングする(リージョンをマーク、ヒットステージにする)か、+&を使用してすべてのハンクを縮小/成長させること-です。それは私が望んでいることではありません。 magitのステータスバッファーでは、ポイントで、または少なくともポイントの周囲の行で、ハンクを2つのハンクに分割します。 これを回す(私の悪いdiffフォーマットを許して) @@ blah blah blah - foo + bar + baz + に @@ blah blah - foo + bar @ blah blah + baz ポイントがバー上にあるとき。 動機: bazデバッグ文であるため、foo&のコミットから削除barせずに削除したいと思います。 barそしてbaz部分的にしかその変更がコミット同じであってはならないことを意味し、関連しています。 bar大きくてbaz小さく、選択するよりもハンクを分割する方がはるかに簡単ですbar 最後のポイントと同様に、20行のコミットには、ステージングすべきではない中央の単一行が含まれているとします。リージョンを使用するよりも、中央のハンクを無視して上下の2つのハンクを分割してステージングする方が簡単です。 diffプレゼンテーションが変更されたものの前後を分離し、途中で役に立たないものを持っている場合に、上記が時々発生する可能性があります。例えば @@ line - old_foo + random stuff + new foo
34 magit 

1
プレーンテキストで企業モードで大文字と小文字を区別する方法
デフォルトでは、会社モードはすべての予測を小文字に変換するようです。 例えば: HelloWorldOfGoo HelloWorldOfEmacs -> Hell [Helloworldofgoo] //Company prediction [Helloworldofemacs] これは、特別なバックエンドのない大文字と小文字を区別するプログラミング言語にはあまり実用的ではありません。会社モードの大文字と小文字を区別するにはどうすればよいですか?

2
spacemacsの発射物ファイルのキャッシュをクリアする方法は?
私はプロジェクトでファイルを見つけるためにキーバインディングをspacemacs使用していSPC p fますprojectile。しかし、gitからファイルを削除した後でも、SPC p fその削除されたファイルが表示されます。 SPC p Iキャッシュを無効にするために使用しようとしましたが、うまくいきませんでした。 問題を解決する方法は?

2
ESSはEmacsバッファーに直接プロットしますか?
Q: ESS(R)を取得してEmacsバッファーに直接プロットするにはどうすればよいですか? ESSを介してRと対話する場合、Rはデフォルトで、Emacsの外部に別のグラフィックウィンドウを作成して、プロットを描画します。(もちろん、他のグラフィカルデバイスを選択することができます。これはPDFにプロットする方法などです)2つの問題:1つは、新しいウィンドウがEmacsからフォーカスを奪い、2つ目は、すべてをきれいに整頓することですEmacsエコシステム内。 だから:Emacsバッファーに「直接」(または間接的に)プロットする方法はありますか、さらに重要なことは、ユーザーによる多くの手動の介入なしでプロットする方法ですか? この古いStack Overflowスレッドでいくつかの事前の議論がありましたが、提案された部分的な解決策は理想的ではありません。ほとんどの場合、Rのプロットデバイスを変更し(PNGなど)、一時ファイルにプロットしてから、Emacsバッファーでそのファイルに手動でアクセスします。特に目標がインタラクティブにプロットウィンドウ/バッファを使用し、セッションで多くのプロットを描画する(またはその場でレイヤを追加する)場合は、すべてが非常に不格好だと思います。 私はここで推測していますが、RとEmacsの両方がSVGをサポートしているので、それが使用するのに便利なフォーマットであるかもしれないと思います。ただし、Rプロセスにフックしてオンザフライで通信できるかどうか/どのようにすればよいかは明確ではありません。RがSmacコードをEmacsバッファーに直接吐き出す方法はありますか、それとも一時ファイルの中間を通過する必要がありますか?Rが作成したときにEmacsに自動的に新しい一時ファイルを訪問させたり、一時ファイルが新しいプロットで更新/上書きされたときにそのようなプロットバッファーを更新したりするにはどうすればよいでしょうか?
33 ess  r 

3
XEmacsと比較した場合、GNU Emacsにはどの機能が欠けていますか?
機能に関して、現在XEmacsとGNU Emacsを区別している重要なポイントは何ですか? さまざまなリリーススケジュールに対応するために、各Emacsフレーバーの最新の開発バージョンを比較の基礎として考慮する必要があります。 歴史的/組織的/哲学的/ ...の問題についての議論を避けるべきであるため、純粋に機能的/技術的な違いのみを言及してください。
32 xemacs 

6
通常のemacsと一緒にspacemacsを実行する:別の.emacs.dを保持する方法
spacemacsを試してみたい。しかし、私はまだ通常のemacs設定から切り替えたくないので、現在自分の.emacs.dディレクトリにある設定と、spacemacsの同等の設定を別のディレクトリにしたいです。どちらのディレクトリの名前を気にしません。 chroots / LD_PRELOAD /他のそのような策略がなければ、それは可能ですか?どうすればいいですか?

10
最小限のキーストロークで現在の行を削除またはコピーします
私はC-a C-k C-k行全体を殺すためにポイントがオンになっています。 行を殺すのではなくコピーしたい場合はC-/ C-/ 、上記のシーケンスを入力した直後にヒットできます。 または、私はすることができますC-a C-SPC C-n M-w。 ラインポイント全体を殺すかコピーするより速い方法はありますか?

3
電話またはEvernoteの組織モード?
Orgモードを使用してすべてを追跡します。アイデア、メモ、to-doリスト、コードスニペットなど。しかし、私が抱えている問題の1つは、メモをすばやく確認したり、メモ内を検索したりするだけの場合でも、電話でOrgモードデータを簡単に取得できないことです。 明確にするために、私は組織ファイルをGithubリポジトリに保存しますが、これは素晴らしいことですが、これはスマートフォンのブラウジングと検索にはまだ適していません。 理想的には、組織モードのメモをEvernoteと同期する方法を探しています。これは実行可能ですか?そうでない場合、私の携帯電話で組織モードファイルを閲覧するための代替手段は何ですか? 電話機から組織モードファイルを簡単に同期し、後で参照および検索するにはどうすればよいですか?
31 org-mode 

3
コミットされたバージョンとの違いを強調するEmacsモードはありますか?
Xcodeが持っている機能の1つに、かなり便利だと思うものがあります。これは、現在のバッファーと最新のコミットの違いを継続的に表示する「比較」モードです。 Emacsにこのようなものはありますか?同時並行表示についてはあまり気にしません。変更された行の背景を強調するだけで大​​いに役立ちます。 いつでもできることはわかっていますがC-x v =、これはある時点の静的なビューであり、差分のみを表示します。差分を強調表示して、編集可能なファイル全体を表示したい。

8
Emacsで不連続な領域を選択する方法は?
現在のバッファーで既にテキストを選択しているとします。前の選択を維持したまま、別のテキストを選択することは可能ですか? 追加:この機能の動機の1つは次のとおりです。次のようなテキストがあると仮定します。 paragraph 1 ... paragraph 2 ... paragraph 3 ... paragraph 4 ... paragraph 5 ... いくつかの段落(2、4、6など)を削除して、段落1の前に挿入したいと思います。
31 region 

3
レキシカルスコープで「let」が高速になるのはなぜですか?
dolistマクロのソースコードを読んでいると、次のコメントに出会いました。 ;; これは信頼できるテストではありませんが、両方のセマンティクスが許容されるため、重要ではありません。一方は動的スコープでわずかに速く、もう一方はレキシカルスコープでわずかに高速です(そしてより明確なセマンティクスを持ちます)。 これはこのスニペットを参照しています(わかりやすくするために簡略化しています)。 (if lexical-binding (let ((temp list)) (while temp (let ((it (car temp))) ;; Body goes here (setq temp (cdr temp))))) (let ((temp list) it) (while temp (setq it (car temp)) ;; Body goes here (setq temp (cdr temp))))) letループ内で使用されているフォームを見て驚いた。以前setqは、同じ外部変数で繰り返し使用するのに比べて遅いと考えていました(上記の2番目のケースで行われます)。 すぐ上のコメントについては、それが代替よりも高速であると明示的に言っている(レキシカルバインディングを使用している)場合を除いて、私はそれを何もないとして却下したでしょう。だから...それはなぜですか? 上記のコードは、字句バインディングと動的バインディングのパフォーマンスが異なるのはなぜですか? let字句を使用するとフォームが高速になるのはなぜですか?

5
grep / ack / ag出力モードからquery-replaceを使用する方法はありますか?
私は承知しているのfind-grep-diredに対応するファイルをマークしてから押すと、Q実行するようにdired-do-query-replace-regexpマークされたファイルに。残念なことに、grepを再起動し、git-grep、ack、またはagを使用find-grepせず、検索用の構文が異なる使用に切り替える必要があります。 私はまたの承知しているmulti-occurとoccur-edit-mode、それが発生し使用して検索を再起動する必要があります。最後ag-diredに、ファイルの内容ではなく、ファイル名で一致するように見えます。 私の現在のアプローチは、grep出力を生成し、grepバッファーで開始するマクロを実行し、各一致にアクセスして変更します。query-replace見つかった一致のセットよりも直接使用したいです。 私は何をしたいのは、私は彼らに適切なファイルとコールクエリ正規表現をマーク、またはのためのバッファのリストにgrepの出力を変換できるように、いずれか早く既存のgrepの出力からのdiredバッファを構築することであるmulti-occur私が使用できるようoccur-edit-modeに所定の場所で編集し、query-replaceそのバッファーで実行します。 この機能は存在しますか、またはこの問題を解決する別のワークフローがありますか?
31 dired  editing  replace  occur 

2
emacs align-regexpの理解
私はEmacsのドキュメントを読みましたが、align-regexpそれがどのように機能するかを理解するのはまだ困難です。私が話しているのはC-uM-xalign-regexp単純な形式ではなく、その接頭語の形式M-xalign-regexpです。私の質問は次のとおりです。 最初のパラメーター(正規表現)は、文字列の行全体と一致する必要がありますか?正規表現が文字列の一部にのみ一致する場合はどうなりますか? 2番目のパラメーターに何を指定するか(修正するための括弧グループ(負の場合は正当化))ここで理解したように、キャプチャされたグループ番号(1からカウント)を提供する必要がありますか?「負の場合に揃える」とは、グループ3を右揃えにしたい場合-3、入力として供給することを意味しますか? 3番目のパラメーター「間隔の量(または負の場合は列)」はどういう意味ですか?私はこのパラメーターが何をするのか全く理解していません。 練習のためにいくつかのテキスト例を集めました。誰もが例として以下のテキストを使用できる場合、非常に役立ちます。 から class CreateStudents < ActiveRecord::Migration def change create_table :students, :comment => "学生信息表" do |t| t.string :political_status, :comment => "政治面貌" t.string :education_level, :comment => "培养层次" t.string :enroll_method, :comment => "入学方式" t.date :enrolled_at, :comment => "入学时间" t.string :charge_type, :comment => "收费类别" t.string :enrolled_year, :comment => "学籍年度" t.string …

3
変数名の前に単一引用符を使用するタイミングまたは使用しないタイミングを知る方法は?
私は以下を持っています: (setq some-variable "less") でboundpなく単一引用符を使用する必要がある理由がわかりませんbound-and-true-p。 例1: (when (boundp 'some-variable) (message "some-variable is %s" some-variable)) 結果: 「変数が少ない」 例2a: (when (bound-and-true-p some-variable) ;; Note that using single-quote causes error (message "some-variable is %s" some-variable)) 結果: 「変数が少ない」 例2b: (when (bound-and-true-p 'some-variable) ;; Note that using single-quote causes error (message "some-variable is %s" some-variable)) …
31 elisp  quote 

2
MELPAを持っている場合、GNU ELPAはまだ必要ですか?
MELPAには新しいバージョンのパッケージがあると人々が言っ​​ているので、これはいつも私を混乱させましたが、GNU ELPAがMELPAの単なるサブセットであるか、または両方が必要かどうかは明確ではありませんか? 私が尋ねる理由は、私は自分のパッケージをたくさん実験していて、package-list-packagesかなり時間がかかるからです。私は知っpackage-list-packages-no-fetchていますが、頻繁に最新のパッケージリストを取得したいと思います。 質問は、MELPAとGNU ELPAの両方を使用した場合と同じように、MELPAを使用して、同じ(および場合によってはより新しいバージョンの)パッケージを取得できますか?

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