タグ

elispに関するcrafのブックマーク (39)

  • yasnippet.elを256倍にパワーアップ!連続展開と条件分岐テンプレートを使おう - http://rubikitch.com/に移転しました

    動機yasnippetの展開機能はなかなか強力ですが、「次の」テンプレート展開の準備や条件分岐ができない弱点があります。 連続展開の例は、プログラミングにおけるドメイン特化言語を記述する場合です。 この場合は、パターンが決まっているので、次のテンプレート展開の準備をするテンプレートを記述すればすんなり記述できるのです。 そして、テンプレート展開後に、次のテンプレートを展開していきます。 条件分岐テンプレートの例は、新規ファイル作成時に文章のテンプレートを選んで展開するケースです。 僕のブログの場合、「自作Emacs Lispリリーステンプレート」、「Emacs Lispを使ってみたテンプレート」、「EmacsのTipsテンプレート」などがあります。 記憶力のいい人ならば、テンプレート名を覚えて普通に展開すると思います。 僕の場合はテンプレート名はおろか、テンプレートを作ったこと自体忘れてし

    yasnippet.elを256倍にパワーアップ!連続展開と条件分岐テンプレートを使おう - http://rubikitch.com/に移転しました
  • Emacs Lispで時間がかかる処理をするときに進捗状況を報告する - http://rubikitch.com/に移転しました

    動機時間のかかる処理をしていると、いつまで待たされるのかわからなくなります。 このとき、進捗状況を表示してくれると安心です。 マニュアルより Progress - GNU Emacs Lisp Reference Manual 使い方単純な数値ループ: (dotimes (変数 回数) 処理〜)決まった回数(N)だけループするにはdotimesを使います。 以下の例では、メッセージを表示し、500個カウント(1カウントあたり0.01秒なので)します。 、5秒後(0.01×500)にdoneと表示します。 (progn (message "Collecting some mana for Emacs...") (dotimes (k 500) (sit-for 0.01)) (message "Collecting some mana for Emacs...done"))進捗状況付き数値ル

    Emacs Lispで時間がかかる処理をするときに進捗状況を報告する - http://rubikitch.com/に移転しました
  • el-get.elでEmacs Lispパッケージをインストール・アップグレードする - http://rubikitch.com/に移転しました

    Emacs Advent Calendar jp: 2010 の9日目の記事です。 去年のauto-install.el に引き続き、今年もインストーラの紹介です。 昨日は id:yaotti さん(anything関数を好きな言語で実装できるanything-with-everything.el (Emacs Advent Calendar 2010 8日目) - yaotti's diary)でした。 anything-with-everything.elは以前から作ろうと思っていたら先越されてしまいました。 明日は id:handlename さんです。 つい最近になって、Emacs Lispのインストールを管理するel-get.elが登場しました。 Emacs Lispのインストールといえば、auto-install.elやその前身のinstall-elisp.elがあります。 し

    el-get.elでEmacs Lispパッケージをインストール・アップグレードする - http://rubikitch.com/に移転しました
  • GNU GLOBAL(gtags)

    GNU GLOBAL source code tag system 多摩通信社 GNU GLOBAL ソースコードタグシステム いわゆるタグジャンプ。他にctags,etags等があるが、これらより強力な機能を持っている。効率的にプログラミングを行う為には必須といってよい。 下記のような特徴がある。 ソースツリーのトップでインデックスを作成しておくことで、関数やその他のシンボルを自在に参照することができる タグ情報から、HTMLを生成することもできる(htags) プログラム自体は、コマンドライン(シェル)から実行するものであり、様々なアプリケーションで利用することが可能であるが、 ここでは、Windowsにおけるemacsで利用することを前提として解説する。

  • 秀丸からEmacsへ移行する - selflearn @ ウィキ

    秀丸は言わずとしれた有名エディタで、開発業務を行っている人にとってなくてはならないアプリです(若干の誇張有り)。強力かつ高速な編集機能、かゆいところに手が届く機能、などなど。 これがなければ皆の生産性は半分以下に落ちてしまうと思います(若干の誇張有り)。使いこなせば使いこなすほど馴染んでくる、というカスタマイズ性の高さも素晴らしい。 その辺はおあつらえのIDEじゃ味わえないです。もうね、開発者だったらどんなことがあっても入れて使いこなせるようになっておくべき、とも思うくらい。 バージョンが上がるごとに「この機能がほしかった」というツボな機能が入ってくるところもね。開発者のことを大切にしてくれているな、という気持ちにさせてくれる「分かっている」アプリなのです。

    秀丸からEmacsへ移行する - selflearn @ ウィキ
  • mode-line での日時表示 - GONE WITH THE MEDICINE

    結論 ;; How to display year, date, and time ;; 2009/05/25 (日) 23:40 みたいになるよ。 (setq display-time-format "%Y-%m-%d (%a) %H:%M") 過程 ドキュメントの中で,たらい回しにされました。 display-time-string-forms 変数を見つけて,いや,これを見つけるのも, 大変だったんですが,これをいじろうとしたけど, 大変そう。中身を見てみると, ((if (and (not display-time-format) ; <-- ここに注目 display-time-day-and-date) (format-time-string "%a %b %e " now)...)) と。 む,display-time-format が nil でごにょごにょだと, form

    mode-line での日時表示 - GONE WITH THE MEDICINE
  • ウノウラボ Unoh Labs: Emacsを自分で拡張する際のTips

    ウノウでは少数派なEmacsユーザのbokkoです。 今回は自分でEmacsLisp(以下、elisp)を書いてEmacsを拡張する際のTipsについて紹介します。 拡張する際に気に留めておくこと Emacsを拡張する上で覚えておくべきなのはEmacs上で行える対話的な動作は「M-x 関数名」で実現できるということです。例えば、C-bはカーソルを1文字分左へ戻しますが、これは「M-x backward-char」とタイプすることと同じです。もしC-bが押しにくい(多分私だけです)のであれば、以下のようなelispを評価してキーバインドを変更することができます。 (global-set-key "\C-l" 'backward-char) Emacsではこのようなキーバインドに限らず、あらゆる操作をelispを使って変更したり、新たに定義することができます。関数名もしくはキーバインドの一方し

  • bwin·必赢(中国)唯一官方网站

  • GNU Emacs Manual - Regexps

    Go to the first, previous, next, last section, table of contents. 正規表現の構文 正規表現には構文があり,そこではいくつかの文字は特別な意味を持ちます.そ れ以外の文字は通常の文字です.通常の文字は,単純な正規表現で,その 文字自体にマッチします.特別な文字とは,`$',`^',`.', `*',`+',`?',`[',`]',`\'です.他に特別 な文字が定義されることはありません.正規表現に現われる他の文字は,すべて 通常の文字です.ただし,前に`\'がある場合は別です. たとえば,`f'は特別な文字ではありません.したがって,通常の文字であ り,文字列`f'にマッチする正規表現となります(これは文字列`ff'に はマッチしません).同様に`o'は`o'のみにマッチする正規表現です. どんな2つの正規表現a,bも連結する

  • auto-install.elでEmacsLispパッケージを自動インストール→anything.el関連を一括インストール - http://rubikitch.com/に移転しました

    Emacs Advent Calendar jp: 2009参加中!次はkiwanamiさん。 auto-install.el は拙作 install-elisp.el の後継バージョンである。サイトからEmacsLispファイルをダウンロードし、所定の位置に配置し、バイトコンパイルする。最大の違いはダウンロードが非同期になったことだ。 install-elisp ではダウンロード時に待たされるが、 auto-install ではダウンロード中も作業をすることができる。 ダウンロードはEmacsWikiから。install-elispが使えるならば、M-x install-elisp-from-emacswiki auto-install.el を実行する。 http://www.emacswiki.org/emacs/download/auto-install.el そして、以下の設定を

    auto-install.elでEmacsLispパッケージを自動インストール→anything.el関連を一括インストール - http://rubikitch.com/に移転しました
  • anything導入のeverything 〜3分で使えるanything.el〜 - http://rubikitch.com/に移転しました

    Emacsを書きました】 anything.elは難しいという印象を持っている人がいるようです。 おそらく、導入しにくいのが原因ではないでしょうか。 anything.elを導入するには、変数anything-sourcesを設定する必要がありました。 しかし、これはもはや過去の話です。 Web検索というのは、ときおり古い情報にひっかかることがあります。 情報は鮮度が命です。 世界は刻一刻と変化しています。 正しい情報を得るには、一次情報に当たるのが最短距離です。 anything.elの一次情報は、開発者である僕のブログの最新記事が一次情報になります。 anything.elを検索したところ、古い情報にひっかあり、惑わされ、それでanything.elは難しいという印象を持たれるのは開発者として意ではありません。 auto-install.elを導入するインターネットにあるLisp

  • emacsでインテリセンス - NO!と言えるようになりたい

    CEDETなるものを使うとわりと簡単にできるらしいので,導入してみた. http://cedet.sourceforge.net/ ダウンロードして解凍して,コンパイルを適当に行う. $ cd cedet-1.0pre7 $ make $ pwd /path/to/cedet-1.0pre7.emacsに設定を追加 ;; CEDET (load-file "/path/to/cedet-1.0pre7/common/cedet.el") (require 'semantic-gcc) (semantic-add-system-include "/opt/local/include" 'c++-mode) (semantic-add-system-include "/opt/local/include" 'c-mode) (semantic-load-enable-gaudy-code-he

    emacsでインテリセンス - NO!と言えるようになりたい
  • NTEmacs / Emacs for Windows

    Windows用にビルドした GNU Emacs の通称がNTEmacs1である。 よって、NTEmacsはGNU Emacsそのものであり、ページでは”Windows用の”2という意味でNTEmacsと呼ぶ。 Emacs自体に関しては Emacs全般 を参照。

  • Meadow

    unixではviと並んでメジャーなエディタであるEmacs(Mule)をwindows用に移植したもの。 用途によっては、かなり作業効率があがるはず。 Meadow Official Site 既にリンク切れなので → https://web.archive.org/web/20140327093146/http://www.meadowy.org/meadow/ (2010/04/28)今となっては NTEmacs の使用をお薦めする。 Meadowを使い始めたころは、”めどうさん入門”や、三好氏のページをかなり参考にした。 めどうさん入門 (http://kawacho.don.am/win/meadow/) 既にリンク切れなので → https://web.archive.org/web/20070508222626/http://kawacho.don.am:80/win/mead

  • when-required マクロ - zknxの日記

    Emacs の設定を複数のマシンの共有するときに面倒なのが、require しているパッケージがあったりなかったりすること。例えば、slime を require している .emacs をマシン A とマシン B で共有しているとする。マシン A には slime があり、マシン B には slime がないと、マシン B では .emacs の読み込みに失敗してしまう。 これを軽減するひとつの策として、require を必ず成功させるという方法がある。require には 3 つまで引数を渡すことができて、第 3 引数に t を渡すと、require に失敗しても error を吐かないようになる。 (require 'slime-autoloads nil t) (slime-setup) これを色んなところに書くのはあんまりなので、以下の require-safe 関数で実現する。

    when-required マクロ - zknxの日記
  • dot.emacs

    exec-if-bound, defun-add-hook, load-safe 普通のまっとうな環境でまっとうな Emacs を使っているだけなら、まっとうに M-x customize を使うべきだと思います。しかし現在棲んでいる環境が、Solaris 2.5.1/2.6 の SPARC 版 / Intel 版, RedHat Linux 6.2/7.0 あとよく分からない Alpha マシンとかとにかくごちゃごちゃ混在の上にすべて $HOME が NFS 共有されているという状態で、当然 Emacs/Mule も下は 19.28 から上は 20.7 に至るまで、しかも elisp ライブラリだって全然統一されていない。おまけに、頻繁にマシンが追加されたり消えたりする。こんな状態では、M-x customize は全く無力です。(そんなことないかな。) こんな場合 .emacs を手書

  • (rubikitch loves (Emacs Ruby CUI))

    みなさん、楽しくEmacsしていますか? この度、技術評論社より『Emacsテクニックバイブル 〜作業効率をカイゼンする200の技〜』を発刊することになりました。 Emacsには無数のコマンド、操作方法、Lispプログラム、設定があって、ムズカシイし、ややこしいですね。 あなたもきっと、そんな印象を持っているかと思います。 Emacsは現在、新しい時代へ向かっています。 Emacsは歴史のあるソフトウェアですが、ここ数年で多くの先進的なLispプログラムが登場してきました。 書は次世代Emacsのありかたについてあなたにお伝えするものです。 書をマスターすれば、Emacsの便利さを再発見し、Emacsユーザの最先端を走ることができます。 <2010-07-17 土> Update: 目次を公開しました <2010-08-10 火> Update: 正誤表 筆者とEmacs書の内容に入

    (rubikitch loves (Emacs Ruby CUI))
  • Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました

    基礎文法最速マスターブームにのっかってみる。Ruby基礎文法最速マスターをだいたいEmacs Lisp(elisp)に置き換えてみる。 Emacs LispはEmacsで使われているLisp方言のひとつだ。他の言語をある程度知っている人はこれを読めばEmacs Lispの基礎をマスターしてEmacs Lispを書くことができるようになるかもしれない。無保証ではあるが。 ある程度はCommon Lispにも応用できると思うよ。 更新情報 [2010/02/03] 注釈の誤りを修正。 let*について加筆。 基礎 対話的にEmacs Lisp式を評価する Emacsを起動したときに生成されている、スクラッチバッファ(*scratch*)を使うと、Emacs Lispの式を簡単に評価することができる。M-Tabで補完できるぞ。 式を書いたらC-jを押すと、式の値が出てくるぞ。 (+ 1 3) 4

    Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました
  • EmacsにおけるC++ source codeの細かいindent設定方法 (1) - I.S.の日記

    Source codeにおけるindentの流儀についての議論は果てがないように見受けられます。I.S.にとってもindentについては拘りがあり、defaultの設定では満足できないことが多いです。 Emacsではfileの編集中に自動的にindentを行ってくれますが、そのindent方法が自分の好みでなければ、その便利な機能も一転迷惑極まりない機能に成り果てます。 Emacsでは、設定file*1において、以下のようにstyleを選択することができますが、その用意されているstyleの全てが自分の好みでなければ、自分でindent設定を細かく記述するか、手動でひたすらindentしつづけるか、自動indentの苦痛に黙って耐えつづけるしかありません。 (add-hook 'c++-mode-hook '(lambda () (c-set-style "gnu") ; k&r、bsd、

    EmacsにおけるC++ source codeの細かいindent設定方法 (1) - I.S.の日記
  • Nav, An IDE-like Navigation Pane for Emacs

    ► 2024 (33) ► September (3) ► August (4) ► July (4) ► June (4) ► May (5) ► April (4) ► March (2) ► February (6) ► January (1) ► 2023 (44) ► December (5) ► November (6) ► October (2) ► September (3) ► August (1) ► July (2) ► June (5) ► May (5) ► April (2) ► March (6) ► February (3) ► January (4) ► 2022 (44) ► December (4) ► November (2) ► October (7) ► September (6) ► August (2) ► July (3) ► June (

    Nav, An IDE-like Navigation Pane for Emacs