eval-after-loadで設定すべきもの 一度だけ設定すればよいものは, eval-after-loadで設定すべきです. 具体的にはキーバインド, face, バッファローカルでない変数の設定, ファイルのロードなどです. (defcustomizeで定義された変数については custom-set-variablesを使えば, eval-after-load内に書く必要はありません) local-set-keyを使いたい場合は hookになります. with-eval-after-load Emacs 24.4からは with-eval-after-loadというマクロが加わっています. これにより, quote+prognを書く必要がなくなります. 少しすっきりします. Before (eval-after-load 'comint '(progn (setq comint-in
GNU emacs Emacs-29.x Emacs-29.3 emacs 29.3の日本語マニュアル HTML(6.2M) - entirely on one web page. HTML - with one web page per node. Info document entirely on one large info. PDF file(2.7M) entirely on one large PDF. Texinfo source(1.0M) emacs 29.3のelisp日本語マニュアル HTML(9.4M) - entirely on one web page. HTML - with one web page per node. Info document entirely on one large info. PDF file(4.9M) entirely on o
遅ればせながら、Emacsのパッケージ管理にcaskはじめました。最近、依存ライブラリはこういうレシピ記述系が本当に盛んですねぇ。宣言的なの、好きです。 Cask - naoyaのはてなダイアリー package.elから Caskに切り替えました - Life is very short てなわけで、勇んで入れてみたのですが、とくに何も考えずにinitしたら見覚えのないライブラリがちょこちょこ入ってきたので、ざっと調べてみました。 bind-key.el https://github.com/emacsattic/bind-key emacsのキーバインドの記述を統一的、かついい感じに書かせてくれるライブラリ。例えば、、、 ;; キーバインド追加 (bind-key "C-c x" 'my-ctrl-c-x-command) ;; 全マイナーモードに対しキーバインドを上書き (bind-
Emacsの設定は ~/.emacs.d/init.el に記述しますが、複数のマシンを利用することが当然な昨今、 init.el を複数環境で共有するのはよくあるシチュエーションです。そこで問題になるのは、動作するマシンによってOSやインストールしている外部ライブラリが異なることです。多くの init.el では、ライブラリの存在を確認してからロードしたり、安全にライブラリをロードする自作マクロを活用しています。 またEmacsは起動時間を短縮するために、ライブラリの遅延ロードが可能です。しかしその設定が複雑になってくると、可読性は低くなってしまいます。 use-package は init.el の設定を、統一的なわかりやすい記述で書くことができるようになるライブラリです。ユーザは use-package マクロを利用するだけで、ライブラリのロード、遅延ロード、設定をわかりやすく記述す
年の瀬ですね。 来年、良い年になると良いですね。 さてちょっと話題となった multiple-cursors.el の紹介です。 github のドキュメントや動画できちんと使い方が説明されていますので そちらもご覧ください、というか是非元ドキュメントにあたってください。 magnars/multiple-cursors.el · GitHub https://github.com/magnars/multiple-cursors.el git://github.com/magnars/multiple-cursors.el.git 動画はこちら Emacs Rocks! - http://emacsrocks.com/e13.html multiple-cursors.el ってなに? その名の通り、カーソルキーを複数作成することが出来ます。 この説明だけでは何が嬉しいのか分かりにくいで
Emacsを使っていると、多くの人が経験するであろう悩みの一つにキーバインドがあります。 当たり前ですがバインドできるキーは有限で、しかも楽して打てるキーともなるとそんなに多くはないように思います。VimのようなモードをもたないEmacsでは、これは宿命のようなものです。 なので、この問題を解消する多くの拡張があって、key-chord.elやsmartchr.elは使われている方も多いんではないかと思います。 ただ、どちらも万能というわけではなくて、例えば、key-chord.elは通常の入力とバッティングすることが往々にしてあるので、バインドするキーの選択にはかなり用心する必要がありますし、smartchr.elも入力パターンがトグルするという特徴上、連続する入力とかには向いていません。 こんな感じで今のところこの枯渇問題を解消する決定打というのはなくて、いろいろと組み合わせて使うのが
Author: Tamas Patrovic (original author), from 2007. At this time, Helm was named Anything. rubikitch rubikitch@ruby-lang.org, from 2008-2011. Helm was still named Anything Thierry Volpiatto (current maintainer). thierry.volpiatto@gmail.com, from 2011-present. Anything was renamed to Helm during this period. Homepage: GitHub Features: Helm is an incremental completion and selection narrowing frame
これまでEmacsでカラーテーマを使いたい場合、color-theme を使うのが一般的だったようですが、Emacs24からは最初からテーマ機能が入っているようです。 使い方はとても簡単で、.emacs (~/.emacs.d/init.el) に次のような設定を記述するだけです。 (load-theme '設定したいテーマの名前 t) 自分のEmacs (バージョン 24.1.1) には13種類のテーマがプリインストールされていました。以下にスクリーンショットを貼り付けておくので、テーマ選びのご参考にでも。 adwaita deeper-blue dichromacy light-blue manoj-dark misterioso tango tango-dark tsdh-dark tsdh-light wheatgrass whiteboard wombat ダーク系でなかなか綺麗
昨年 ELPA で elisp を管理 - naoyaのはてなダイアリー に書いたとおり、昨今は Emacs にもパッケージ管理システムが搭載されいて、どこからか elisp をコピペしてきてその後管理できなくなる・・・みたいなことはなくなった。 ただ、じゃあ ELPA で全て解決したかというとそんなことはなくて、ELPA はパッケージのインストール自体は簡単にしてくれるけれども、それだけだった。 elisp の管理も Bundler のように入れたいパッケージ一覧を書いて bundle install すれば全部まとめて入るみたいな、そういうのが欲しい・・・と常々思っていた。 と思っていたら、Cask というのを見つけた。これがずばりそのものだった。 (source gnu) (source melpa) (source marmalade) (depends-on "ag") (dep
このライブラリ群はEmacsに不足している名前がわかりやすい関数、他の言語では提供されているデータ構造を操作する便利な関数を提供してくれます。このライブラリを使うと、プラグインや、スクリプトを作るのがすごく楽になります。 +1の部分であるCaskは、ライブラリというよりプラグインなので別にしてます。 それぞれどんなライブラリか、かいつまんで紹介します。 dash.el dash.elは、Emacsのリスト操作APIを提供するライブラリです。このライブラリは、かなりEmacsのリスト操作を分かりやすく、補完してくれるライブラリになっています。 リスト操作に関連してか、 Clojureのスレッディングマクロ On Lispで紹介されているアナフォリックマクロ バインドという機能 木構造の操作のAPI など様々なものを提供しています。 メリットとしては、 もっと関数型言語っぽく書ける リスト操作
そろそろ年末ということで、この記事ではわたしが今年お世話になったelispの中から「これが無いと生きていけない!」というものをランキング形式で紹介していきたいと思います。 10位 Auto Complete Mode Auto Complete Mode - GNU Emacsのための最も賢い自動補完機能 Emacsで思い通りの補完を実現してくれる拡張機能です。 わたしは補完候補を選択するポップアップをあまり使わないので、(setq ac-auto-show-menu nil)として自動表示しないようにしています。 auto-complete-etagsを使って事前に生成したタグファイルを補完候補に入れておくと、独自に定義したクラスやメソッド名もうまいこと補完してくれるのでおすすめです。 9位 git-gutter syohex/emacs-git-gutter 編集中のファイルのどの行が
追記 この記事を元に書籍が出来ました! 時間と命を削って、より詳細に解説しましたので、Emacs に興味がある人はぜひ一度手に取ってみて下さい。 Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus) 作者: 大竹智也出版社/メーカー: 技術評論社発売日: 2012/03/07メディア: 単行本(ソフトカバー)購入: 22人 クリック: 396回この商品を含むブログ (1件) を見る簡単とは言え、Elisp とかの話がメインだった前回までとは、がらりと変って、今回はキーバインドの話をしたいと思います。 なので、Lisp とかわからんちんな人も、今回は大丈夫なはずです。 キーバインドの調べ方。 Emacs と言えば、よくその特殊なキーバインドが覚えられない。という意見が多く聞かれます。 逆に、Emacs をずっと使っている人は、キーバインドで何
この記事は. emacs Advent Calendar 2013の二日目です。 拙作の anzu.elについて紹介します. 概要 manga_osyoさんの vim-anzuを Emacs向けに portしたもので, Google Chromeの検索のように, 検索文字列が現在のバッファでいくつマッチするのか という情報と現在の位置をモードラインに表示するマイナーモードを提供します. 以下にイメージを示します. モードラインの左端に注目してください. 検索文字列に応じて, 現在の位置, 全体のマッチ数が変化していることがわかります. 知らないソースを見て検索をするときに, 今の検索文字列が適切かどうかを すぐに判断することができ, 非常に重宝しています. インストール方法 MELPA, Marmaladeに登録されているので, package.elでインストールできます.
ispell/aspellを利用した auto-complete sourceを提供する ac-ispellをリリースしました リポジトリ https://github.com/syohex/emacs-ac-ispell インストール MELPAからインストールできます. 設定 ;; Completion words longer than 4 characters (custom-set-variable '(ac-ispell-requires 4)) (eval-after-load "auto-complete" '(progn (ac-ispell-setup))) (add-hook 'git-commit-mode-hook 'ac-ispell-ac-setup) (add-hook 'mail-mode-hook 'ac-ispell-ac-setup) (add-ho
EmacsでPATHの設定が引き継がれない問題をエレガントに解決する - Qiita この手のツールは何個か知っていたんですが、環境変数を一つ取り出す度に シェルを起動しているというものが多くて、利用をためらっていたのですが、 exec-path-from-shellのコードを見たところ、複数指定してもまとめて 値を取ってくれるようなので、いいかなと思って切り替えました。 インストール package.elで MELPAからインストールしてください。 設定 以下のような感じで良いです。PATHが含まれていると、exec-path, eshellの PATHの 設定もあわせて行なってくれます。 ;; load environment variables ;; 追記 GEMに関する環境変数を設定すると rbenv経由で rubyがうまく使えなかったので削除 (let ((envs '("PAT
今まで(恥ずかしながら)適当だった Emacs の設定を改革したらとても快適だったので紹介します 今回紹介したいのは init-loader.el package.el です 今まで .emacs に適当に設定を書いていたので以下の様な問題で悩んでいました 環境依存(具体的には Mac と Ubuntu)な設定を分離出来ないので環境構築に手作業が発生する 設定を追加しても上の事情で各々の環境に手作業で導入する必要がある ということで init-loader.el の出番です ~/.emacs.d/site-lisp/ 以下に init-loader.el を置いて ~/.emacs.d/init.el に ;; ~/.emacs.d/site-lisp 以下全部読み込み (let ((default-directory (expand-file-name "~/.emacs.d/site-
久々に Emacs の設定をした。普段は vim をつかっているのだが、日本語の長 文を vim で書くのはつらいので Emacs 環境を整備したかったのだ。 (Emacs ですべてを書くと左手の小指が死ぬので、日本語のときだけにつかう ことにしている) Emacs の設定は最近は MELPA だか package.el だか el-get だかでやるのが ナウいらしいのだが、どうちがうのかよくわからない。いろいろと日本語の情 報があるのだが、「そもそもどれがなんなのか」というところをあんま説明し てくれてなくて辛い。 いろいろと調べた結果、僕は以下のような結論にたっした。 package.elインストーラ。tar ball とか file を指定すると、それをインストールして くれる。便利。 MELPAレポジトリから定期的にフェッチしてきて、いいかんじに package.el 対応の サ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く