Emacs

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

5
リスト内の重複を報告しますか?
Q:リスト内の重複する要素のみを取得するにはどうすればよいですか? delete-dups(およびcl-delete-duplicates)リストからすべての重複要素を削除します。 (delete-dups '(a b c c d d)) ; => '(a b c d) 逆が欲しい:リストの重複のみを返す関数はありますか? (mystery-function '(a b c c d d)) ; => '(c d)
7 list 

3
Rubyは常に2つのスペースをインデントしますか?
私はいつものように2スペースのインデントを使いたいです: sidekiq_options({ retry: true }) 私は次のように設定しようとし.emacs.d/init.elました: (setq-default indent-tabs-mode nil) (setq-default tab-width 2) (setq indent-line-function 'insert-tab) (setq ruby-deep-indent-paren nil) (setq ruby-deep-indent-paren-style nil) しかし、私はまだ次のように見えます: sidekiq_options({ retry: true })


2
バッファローカル変数のデフォルト値は最初の `setq`まで設定されません
私がバッファローカル変数を定義し、fooそのデフォルト値が "a"であるとしましょう: (defvar foo "a") (make-variable-buffer-local 'foo) (default-value 'foo) ;; => "a" この直後に、次のコードを実行します。 (let ((foo "b")) (with-temp-buffer (message "foo: %s" foo))) ;; => "b" 結果は "b"です。これは、で設定した値letです。 setq変数の設定に使用する場合は、前とまったく同じコードを再実行します。 (setq foo "c") ;; => "c" (let ((foo "b")) (with-temp-buffer (message "foo: %s" foo))) ;; => "a" 結果は "a"で、これが現在のデフォルト値です。 質問:一時バッファの場合、のデフォルト値はfoo使用するまで設定されませんsetqか?そしてsetq、私が使用しない限りlet、他のバッファのデフォルト値を変更するために使用できますか? 編集:@npostavsが言ったように、これはmake-varible-buffer-local本当に意味することです。make-variable-buffer-local自分で使えば、setqその後いつでも使えます。しかし、これはのような「組み込み」のバッファローカル変数では本当にトリッキーになりますcase-fold-search。私がパッケージ作成者として外部でバインドcase-fold-searchし、でデフォルト値(ユーザーが設定したかどうかにかかわらず)を使用したい場合、デフォルト値が実際にあることを確認する前に使用する必要があります場合に使用されているユーザはそれを持っていない、彼/彼女に。バッファローカル変数の場合、おそらく、値を設定するときよりも常に安全であることを意味します。デザインやドキュメンテーションは改善できるのかしら。nilletwith-temp-buffersetqwith-temp-buffersetqinit.elsetqlet

2
現在の幅に丸められていない先行するスペースインデントを強調表示するにはどうすればよいですか?
インデントが現在のインデント幅に揃えられていないときに、行の前のスペースを強調表示する(たとえば、背景色を設定する)方法はありますか? 例:4つのスペースインデント: fn my_func() { if foo() { ##bar(); blob(); ###fez(); baz(); } } ここで、#文字が異なる色を示す背景を表し、凹みまでバック4に位置合わせされます。 もちろん、これはコードが厳密なインデント規則に従っている場合にのみ役立ちます。 私はemacsの高度な自動インデント機能とインデントハイライトプラグインを認識していますが、問題が発生した場合にのみ表示される、煩わしさの少ないものを選択することに注意してください。末尾のスペースを強調表示するようなものです。

2
フォルダを削除するときに常にdiredバッファを殺す方法は?
diredで、サブフォルダーに別のdiredバッファー(ディレクトリを上下に移動するときの一般的な状況)があり、フォルダーを削除したい場合は、を押して削除のDxマークを付けてから実行します。 次に、Emacsがフォルダーをゴミ箱に移動するかどうかを尋ねます。確認すると、フォルダのdiredバッファも削除するかどうかを尋ねられます。 フォルダーを破棄してバッファーを保持したい状況は考えられません。フォルダを破棄するときに常にバッファを破棄する方法はありますか?
7 buffers  dired 

2
地域をハイライト
リージョンをハイライトし、ポイントが移動してもハイライトされたままにする方法を教えてください。 なぜ私はそれをしたいのですか?後で確認するときに、重要なコードスニペットを目立たせることができます。

1
Emacsはimagemagickをロードできませんか?
Macを使用していて、Emacsとlibmagickで問題が発生しています。 現在、Emacsは終了して出力します: Library not loaded: /usr/local/opt/imagemagick/lib/libMagickWand-6.Q16.2.dylib Referenced from: /usr/local/Cellar/emacs-plus/24.5/Emacs.app/Contents/MacOS/Emacs reason: image not found しかし、そのファイルは存在します。 [I] bheesham.persaud $ file /usr/local/opt/imagemagick/lib/libMagickWand-6.Q16.2.dylib /usr/local/opt/imagemagick/lib/libMagickWand-6.Q16.2.dylib: Mach-O 64-bit dynamically linked shared library x86_64 Emacs GUIを起動しようとすると、macOSレポートの問題ダイアログに同様のエラーがポップアップ表示されます。 Emacsにimagemagickライブラリを認識させるには何が必要ですか? 追加情報: Process: Emacs [96152] Path: /usr/local/Cellar/emacs-plus/24.5/Emacs.app/Contents/MacOS/Emacs Identifier: org.gnu.Emacs Version: Version 24.5 (9.0) Code Type: X86-64 (Native) Parent Process: ??? [1] …
7 osx 

2
「最初のキーを押しながらフック」のようなものを探しています
Emacsセッションを実行していて、たとえば20分間コンピューターから離れたとします。Emacsセッションに戻ったら、ある時点で、Emacsウィンドウにフォーカスがある間に何らかのキーを押します。これは、私がfirst-keypress-in-a-while 1と呼んでいる種類のイベントの例です。 このようなイベントが発生したときにEmacsが自動的にコードを実行する方法を探しています。IOW、私は何かのようなものを探していfirst-keypress-in-a-while-hookます。 Emacsの標準的なフックを調べても、すぐに良い候補を特定することはできませんが、この仕事を実行できる明白でないものがあるかもしれません。 あるいは、そのようなフックの機能をシミュレート/近似できる他の方法はありますか? 1もちろん、in-a-while最小時間間隔、たとえば15分に対応するユーザー設定可能なパラメーターを指します。私が興味を持っているイベントは、この間隔より長い非アクティブな期間の後の最初のキーを押すことです。「非アクティブ」とは、Emacsがユーザー操作を検出しない状態を意味します。つまり、キーを押したり、マウスをクリックしたりしないなどです。

1
マジット:プッシュブランチを削除するには?
リポジトリのpushブランチを削除したい。マージブランチを使用してリモートリポジトリにプッシュするだけですが、2つのヘッダーに常に同じ情報が含まれています。 Head: master Merge pull request #zzz in xxxxxxx from yyyyyyyyyy to master Merge: origin/master Merge pull request #zzz in xxxxxx from yyyyyyyyyy to master Push: origin/master Merge pull request #zzz in xxxxxx from yyyyyyyyyy to master pushブランチの追加は間違いでしたが、削除する方法がわかりません。
7 magit  git 

4
Magitステータス-常に垂直に分割
Magitに「git status」ウィンドウを常に垂直分割で表示する設定オプションはありますか?ドキュメンテーションではそれについて何も見ませんでした、そしてGoogleはかなり役に立たなかった。
7 magit 

1
flycheckの「次/前のエラーにジャンプ」して循環する
少なくともflycheckで使用している場合は、Mg nとMg pを循環させてください。この機能はサポートされていないので(https://github.com/flycheck/flycheck/issues/64で言及され、チャットで確認されているように)カスタム関数を書く必要がありますが、私はElisp noobです。 他の理由(https://github.com/commercialhaskell/intero/issues/268flycheck-modeを回避する)のために、バイパスnext-errorしてflycheck-next-error直接呼び出します。私はめったに使用しないので、サイクリングではなく通常のコンパイルモードで生活できます(ただし、コンパイルモードの使用を開始した場合、これはおそらく迷惑になります)。
7 flycheck 

1
Webモードでコメントスタイルを変更する
Webモード20161003.1327を使用しています Webモードでリージョンにコメントを付けるとき、このようにコメントします。 /* import chai from 'chai'; * import 'babel-polyfill'; * import configureMockStore from 'redux-mock-store'; * import thunk from 'redux-thunk'; * import * as ActionTypes from '../actions/ForecastActions'; * * const expect = chai.expect; * * const middlewares = [ thunk ]; * const mockStore = configureMockStore(middlewares); * * / これは、セクションのみのコメントを解除するのには適していません。 …
7 web-mode 

2
このコードがキーマップのすべてのキーバインディングを無効にできないのはなぜですか?
一言で言えば、私が好きな小さなライブラリがありますが、デフォルトのキーバインドは好きではありません。たとえば、これはグローバルマイナーモードであり、関数をC-c C-sにバインドしますが、それorg-scheduleは私のorgおよびorg-agendaバッファーに影を落とします。 小さなライブラリを保持したいのですが、小さなライブラリのキーマップにあるすべてのバインディングを削除します。 これを行うための初期の試みで、私は次のことを試しました(little-library-mode-mapバインディングが存在する場所を確認した後)。 (with-eval-after-load "little-library-mode" (setq little-library-mode-map (make-sparse-keymap))) コードは「成功」しますが(C-h v little-library-mode-map RETそれ(keymap)が今だということを示しています)、すべての小さなライブラリのキーバインディングはまだ「機能」C-c C-sしています(orgおよびorg-agendaバッファを含む、小さなライブラリ関数はまだ機能しています)。 私は問題を解決する別の方法を見つけましたが、このアプローチが失敗する理由を本当に知りたいです。Emacsのキーバインドは、私にはまだ黒魔術のように見えます。

1
すべてのサブディレクトリをDiredに挿入します
どうすれば、Diredのトップレベルディレクトリのすべてのサブディレクトリを挿入できますか? そして、どうすればディレクトリツリー全体、つまりすべてのサブディレクトリを再帰的に挿入できますか? デフォルトのスイッチを変更するのではなく、すべてのサブディレクトリを一度だけ挿入します。 スイッチを探してC-u i追加するのではなくR、カーソルの下にディレクトリのサブディレクトリを挿入します。メインディレクトリのすべてのサブディレクトリを挿入します。
7 dired 

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