質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Emacs

GNU Emacsと拡張性の高い、高性能なテキストエディタです。豊富なライブラリの導入により、統合開発環境やWebブラウザとしても機能させる事が可能です。

LISP

LISPはプログラミング言語の一種であり、関数型言語に分類されています。 特徴として、括弧を多様する独特の構文を持ちます。

Q&A

解決済

1回答

2443閲覧

Emacsでuse-packageとsmartrepの組み合わせで遅延ロードするには?

hojo

総合スコア195

Emacs

GNU Emacsと拡張性の高い、高性能なテキストエディタです。豊富なライブラリの導入により、統合開発環境やWebブラウザとしても機能させる事が可能です。

LISP

LISPはプログラミング言語の一種であり、関数型言語に分類されています。 特徴として、括弧を多様する独特の構文を持ちます。

0グッド

0クリップ

投稿2016/03/21 00:18

elisp

1;; multiple-cursors 2(use-package multiple-cursors :ensure t 3 :config 4 (smartrep-define-key global-map "C-x t" 5 '(("t" . 'mc/mark-next-like-this) 6 ("T" . 'mc/mark-previous-like-this) 7 ("P" . 'mc/cycle-backward) 8 ("N" . 'mc/cycle-forward) 9 ("m" . 'mc/mark-more-like-this-extended) 10 ("u" . 'mc/unmark-next-like-this) 11 ("U" . 'mc/unmark-previous-like-this) 12 ("s" . 'mc/skip-to-next-like-this) 13 ("S" . 'mc/skip-to-previous-like-this) 14 ("C-s" . 'phi-search) 15 ("C-r" . 'phi-search-backward) 16 ("d" . 'mc/mark-all-like-this-dwim) 17 ("i" . 'mc/insert-numbers) 18 ("n" . 'next-line) 19 ("p" . 'previous-line) 20 ("f" . 'forward-char) 21 ("b" . 'backward-char) 22 ("o" . 'mc/sort-regions) 23 ("O" . 'mc/reverse-regions))))

上記のようにuse-packageを用いてmultiple-cursorsを自動インストールする設定を施しました。

use-packageでは:commandsまたは:bindを利用して、モジュールの遅延ロードを設定することができまので、どうせなら遅延ロードの設定も施したいと思っています。

しかし、上記のようにsmartrepを利用した状態だとど:commandsを利用した設定方法では大量のコマンドを登録する必要がある上、C-x t nの操作はnext-lineなどに設定されているため、multiple-cursorsを利用する前に遅延ロードが発生してしまう可能性が高いです。

また、:bindを利用した設定方法の場合smartrepが利用できなくなってしまう気がしています。

こういった場合、use-packageを利用した遅延ロードはどのように設定をすれば良いのでしょうか?

都合よくuse-packageの遅延ロードとsmartrepを愛用しているEmacs使いさんが居るとは思えませんが、もしこの問題をうまいこと解決する方法が思いつく方は、ぜひ教えていただきたいです。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

申し訳ないですが現状では不可能です。現状で実現するためにはuse-packageが :configsmartrep の内容を見て遅延ロードの式を自動生成する必要がありますが、その様な実装はされていません。
未来的に :smartrep のような新しいキーワードが追加された場合は :bind と同じように自動的に遅延ロード設定のS式を生成するようになると思います。
もし :smartrep の様なキーワードが必要であればuse-package代替として開発している、拙作のleaf.elに追加しますので、まだこの質問を見られておられるようでしたらコメントいただけると幸いです。issueは立てておきました。
https://github.com/conao3/leaf.el/issues/97

投稿2019/03/01 17:35

conao3

総合スコア119

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問