タグ

Emacsに関するB-SAKATUのブックマーク (68)

  • リージョンの行頭に "> " を挿入する - わからん

    (defun my-insert-> (from to) (interactive "r") (save-excursion (save-restriction (narrow-to-region from to) (goto-char (point-min)) (replace-regexp "^" "> ")))) パッと上が思いついたが変換後の描画範囲が気にくわなかったので調べてみて,下のように落ち着いた。語彙たりないなー (defun my-insert-> (from to) (interactive "r") (string-rectangle from to "> "))

  • emacs起動時の"Warning: `mapcar' called for effect; use `mapc' or `dolist' instead"対策 - わからん

    emacs にいろいろな拡張を導入していると,起動時に わざわざウィンドウ分割して "Warning: `mapcar' called for effect; use `mapc' or `dolist' instead" という文言が表示されうっとうしい思いをすることがあります。この警告を抑止する方法がわかりました。dot.emacs に以下の設定を付け加えます。 ;;Warning: `mapcar' called for effect; use `mapc' or `dolist' instead を防ぐ (setq byte-compile-warnings '(free-vars unresolved callargs redefine obsolete noruntime cl-functions interactive-only make-local)) なお,byte-co

  • Emacs で文法チェック

    Emacs でプログラムを書く人々は、リアルタイムに文法チェックをするために flymake を使うらしい。 以前聞き覚えがあるが、何をする物か分からないのでスルーした奴だが、結構使えるものだったのかぁ。 なので flymake の設定をしてみた。 Quick Start 詳細は info マニュアルに書かれているが、 使い始めの設定は次の通りになる。この状態で、何もせずに Perl/PHP の文法チェックは行なえる(perl/php コマンドがあればの話だが)。 (require 'flymake) ;; GUIの警告は表示しない (setq flymake-gui-warnings-enabled nil) ;; 全てのファイルで flymakeを有効化 (add-hook 'find-file-hook 'flymake-find-file-hook) ;; M-p/M-n で警告/

  • Emacs23.1 for windows

    WindowsEmacs23.1 2009.07.29 Emacs23.1がリリースされました。 現在、私はNT Emacs JPを使用しているのですが、これはEmacs 22.2がベースとなっています。 しばらく待っていればNT Emacsも23.1ベースになると思うのですが、Emacsについての知識を深めるためにも自分で23.1を使えるようにしてみようと思います。 GnuオリジナルのEmacsをそのまま動かした場合、日語IMEの扱いがうまくいかないと思いますが、私は日語変換にSKKを利用しているので、たぶんIMEが使えなくても問題ないはずです。 あまりEmacsについて詳しく知っているわけではありませんが、自分のための備忘録として試行錯誤の記録を残しておきます。 Gnu Emacs FAQ For MS WindowsEmacsをWindowsで動かすときのTipsが書かれてい

  • その発想はなかった! 新しい自動バイトコンパイルでEmacsを高速化する - (rubikitch loves (Emacs Ruby CUI))

    Emacs Lispをバイトコンパイルすると動作が高速化するのは常識である。しかし、バイトコンパイルには致命的な欠点があって、Lispファイルの方がバイトコンパイルファイルよりも新しい場合は、古いバイトコンパイルファイルが読み込まれてしまうのだ!!そのため、Lispファイルを更新したらバイトコンパイルしておかないといけない。 このどうしようもない仕様をなんとかするべく、自動バイトコンパイルで自衛をしている人はけっこういると思う。というか、自動バイトコンパイルがないと絶対に泥沼にはまってしまう。 自動バイトコンパイルとは、Lispファイルを保存したときに after-save-hook をつかって自動でバイトコンパイルをするというもの。しかし、これだとバイトコンパイル中は待たされてしまう。シングルスレッドの悲劇。 Emacsで同時に複数の処理を実行するには、タイマーを使うか、外部プロセスに任

    その発想はなかった! 新しい自動バイトコンパイルでEmacsを高速化する - (rubikitch loves (Emacs Ruby CUI))
  • js2-mode.el をいくつかの新しい JavaScript の記法に対応させた - mooz deceives you

    JavaScript の奇妙な記法 最近の JavaScript (Firefox 3.5 以降) では, 色々と奇妙な記法が可能となっている. 例えば, 次のようなもの. let obj = {a: 10, b: 20}; let {a: a, b: b} = obj; // 分割代入の一種 let {a, b} = obj; // 上の省略記法 let [a, b] = [1, 2]; といった分割代入をご存知の方は多いのではないかと思う. 上記の記法はそれの一種とされていて, オブジェクトから特定プロパティの値を持ってくるときに有用. コードゴルフをたしなむ方々や, 某邪悪なアドオンのプラグインを書かれている方々の間では, 空気のような存在となっているらしい. 自分はこの記法を数ヶ月ほど前に知り, それからずっとこの書き方に憧れては, とある理由の為に使うことができずもどかしい思いを

  • Ymacs -- AJAX source code editor with syntax highlighting and automatic indentation

    Ymacs is an Emacs-like editor that works in a browser. This is an old project, but it still works very well. There was a major overhaul in 2024 so I wouldn't call it dead yet. Besides a lot of fixes and new features, an important change is that Ymacs is now standalone (no longer depends on thelib.js). Here is an instance with some HTML code from this very page. Try various editing commands, but fi

  • js2-modeを使いやすくする - speg03の雑記帳

    Emacsのjs2-modeはリアルタイムに構文エラーを示してくれてなかなかよさげな感じだったのだけど、インデントまわりが残念でずっとjavascript-modeを使ってた。 結構前の話だったので、どう残念だったか思い出すために試してみた。 コールバック関数を引数に取る関数なんかで下のような感じになる。(インデント4マスの場合) hoge(function () { foo(); // ここじゃなくて bar(); // ここに来て欲しいわけ }); というのをどうにかして直せないかと探し回って対策を発見。 Editing JavaScript with Emacs — js2-mode / Projects / Mishoo's homepage ほぼ丸パクリでかなり良い感じになりました。多謝。 導入手順 とにかく必要なのは js2.el と espresso.el の2つ。ロードパス

    js2-modeを使いやすくする - speg03の雑記帳
  • re-builder で作った正規表現を query-replace-regexp に渡しても動作しない? - @kyanny's blog

    結論 re-builder で作った「文字列」を (insert "XXXX") して出力された「正規表現」を query-replace-regexp に渡せ メモ M-x re-builder で正規表現を組み立てるとき、その正規表現は「文字列」として与えなければならない(っぽい)。逆に、 query-replace-regexp に正規表現を与えるときは、「リテラル」として与えなければならない(っぽい)。 以下、結論に至るまでの試行錯誤と考察を箇条書きでメモ。あんまり真面目に検証してません。マニュアルも読んでません。正規表現(特に Emacs の!)に詳しい人のツッコミをお待ちしております。 <input type="text" name="emacs" value="lisp" /> を name="emacs" に置換したい、とする re-builder では "^.*\\(na

    re-builder で作った正規表現を query-replace-regexp に渡しても動作しない? - @kyanny's blog
  • Emacsで単語単位の移動をキャメルケースの途中で区切るには: 小ネタ帳

    EmacsでM-f / M-bによる単語単位の移動をすると、通常は英文字の大小を区別しない。 すなわち、fooBarBazの先頭でM-fとするとカーソルはzの後ろまで進む。 しかしJavaなどで長い識別子を使っていると不便なこともあるので、キャメルケースの途中の大文字を単語移動の区切りにできないか調べてみた。 ;; 文字カテゴリの作成 (define-category ?U "Upper case") (define-category ?L "Lower case") ;; 文字の登録。とりあえずはAからZまでの英字のみ。 (modify-category-entry (cons ?A ?Z) ?U) (modify-category-entry (cons ?a ?z) ?L) ;; 小文字に大文字が続く場合を単語境界とする。 (add-to-list 'word-separating-

  • 重たいはてブとはこれでサヨナラ? anything-hatena-bookmark.el を migemo に対応させて完璧にする。 - 日々、とんは語る。

    k1LoW さんがデフォルトで (migemo) に対応するコードを入れてくれました。よって、最新の anything-hatena-bookmark.el をインストールすれば、anything-hatena-bookmark.el の編集は必要ありません。つまり、anything-migemo.el をインストールするだけで、migemo に対応できるようになったという訳です!! みなさん、id:k1LoW さんの作成した、Anything を使ってローカルではてなブックマークをブラウジングする anything-hatena-bookmark.el という便利な Elisp をご存じですか? Anything って何?な人は、まずはもう初心者なんて言わせない、Anything で始まる Emacs 道。をご覧下さい。 M-x install-elisp http://trac.cod

    重たいはてブとはこれでサヨナラ? anything-hatena-bookmark.el を migemo に対応させて完璧にする。 - 日々、とんは語る。
  • Emacs のブックマーク機能 - @kyanny's blog

    Emacs には、任意のファイル/ディレクトリをブックマークする機能がある。 初めて知ったときは、誰が使うんだこんなもの、と思ったものだけど、基的なキーバインドを指が覚えてしまってからはこればっかり使うようになって、ブックマークしてないディレクトリに何かファイルを置いておくと後日見失ってホームディレクトリ以下を find するはめになったりするくらい頼り切ってしまっている。 たぶん、 dired でみてるときに C-u M-x eshell するとそこをカレントディレクトリにして新しい eshell バッファを作ってくれるのが便利すぎるので、ほとんどそれへのショートカットとして使ってる。 Emacs を開いてから cd でいちいち移動する必要がないし、毎度ホームディレクトリから作業用ディレクトリのパスを下っていく手間も省ける。 覚えておくべきキーバインドは、 C-x r l ブックマーク

    Emacs のブックマーク機能 - @kyanny's blog
  • session.el + minibuf-isearchが便利すぎる

    毎回便利なEmacs Lispをチマチマ紹介していますが、今回ご紹介するsession.elも優れものです。挙動が地味なので素晴らしさが伝わらないかもしれないと危惧していますが、Emacs使いの人は騙されたと思って使ってみてください。 更に言うと、session.el単体だと「少し便利かな」くらいなんですけど、minibuf-isearchと組み合わせると並外れて便利になります。 この組み合わせで使っているEmacs使いは多いと思うのですが、意外と知名度が低い気がしたので改めて紹介します。 session.elは、ざっくり言うとミニバッファの履歴をファイルに保存するものです。つまり、Emacsを終了しても、次回起動時にC-x C-fの履歴が復元されます。M-x grepの履歴や、kill-ring、検索/置換の履歴、各ファイルにおけるカーソル位置なども保存されるので、Emacsを終了させる

  • Macで動くCarbon Emacsを半透明化して最大化する - suztomoのはてなダイアリー

    Mac買ったらCarbon Emacsを入れて背景黒かつ透過にして,起動時に最大化するといいです. Carbon Emacsパッケージ 大切なことなので比較画像を置いていきますね. Before After .emacs.el .emacs.elあたりに次の内容を書けばおk (when (eq window-system 'mac) (add-hook 'window-setup-hook (lambda () ;; (setq mac-autohide-menubar-on-maximize t) (set-frame-parameter nil 'fullscreen 'fullboth) ))) (defun mac-toggle-max-window () (interactive) (if (frame-parameter nil 'fullscreen) (set-frame-

    Macで動くCarbon Emacsを半透明化して最大化する - suztomoのはてなダイアリー
  • anything.elとプラグイン等をリリース - ’(rubikitch wanna be (a . lisper))

    次世代anything.elとプラグインをリリース!候補選択は是非anythingを - http://rubikitch.com/に移転しましたから更新しました。 anything.elのリリースノートは http://d.hatena.ne.jp/rubikitch/searchdiary?word=%2a%5banything%2drelease%5d から辿れます。 anything.el M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/anything.el anything-current-buffer-is-modifiedの実装にバグがあったので修正。 anything-read-string-modeはanything-complete.elに移動。 anything-after-persi

    anything.elとプラグイン等をリリース - ’(rubikitch wanna be (a . lisper))
  • EmacsでJavaScriptソースを快適に読むために:js2-modeとエグズーベラントCtags - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「横道にそれすぎ」に書いた事情で、EmacsでJavaScriptソースコードを読む環境を少し整えようかと。 次の2つのツールを導入してみよう、っと。 js2-mode: http://code.google.com/p/js2-mode/ エグズーベラント(EXUBERANT)Ctags: http://ctags.sourceforge.net/ 内容: より良いEmacs JavaScriptモード -- js2-mode 強烈なタグファイル作成ツール -- エグズーベラントCtags エグズーベラントCtagsを調べてみる EmacsでJavaScriptソースを読む ●より良いEmacs JavaScriptモード -- js2-mode 以前(2006年7月)、ひげぽんさんの記事で、「ecmascript-mode.el < javascript.el みたいだ」と書いてあった

    EmacsでJavaScriptソースを快適に読むために:js2-modeとエグズーベラントCtags - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • EmacsでPerl開発する上で必須な設定 #3 - perldoc-m - Kentaro Kuribayashi's blog

    PODを読んでもよくわからない、あるいは、そもそもPODがちゃんと書かれていないモジュールの挙動を知りたい場合、perldoc -mを使いまくることがよくあると思います。単にperldocを読みたい場合は、id:IMAKADOさんによる素晴しいperl-completion.el(これも当然必須です)が非常に便利なのですが、perldoc -mの表示をバッファを作って表示させたい場合、以下のような設定を書いておくと、これはこれで便利だと思います。というか使いまくってます。 ポイントがある位置のモジュール名、あるいはなんにもなければプロンプトでモジュール名を指定して、ウィンドウをポップアップしてperldoc -mを表示 perldoc-mコマンドを実行したバッファが、既にperldoc-mコマンドで開いたバッファなら、その場で表示 多分これ、どこかからもらってきたのを改造したのだと思うけど

    EmacsでPerl開発する上で必須な設定 #3 - perldoc-m - Kentaro Kuribayashi's blog
  • IMAKADO::BLOG

    Ark::Test や Catalyst::Test でおなじみの ctx_request をつかってテストを書く必要があったので書いてみました. Data::Util or Moose を使う程ではないと思ったので, ベタっといった感じ.俺はそんな感じ. 正しい実装ではない可能性があることを断っておきます. package Amon::Test::WWW::Mechanize::PSGI; use parent 'Test::WWW::Mechanize::PSGI'; use strict; use warnings; our $VERSION = '0.01'; use Clone::PP qw/clone/; sub ctx_request { my $self = shift; amon_install_context_getter(); my $res = $self->req

    IMAKADO::BLOG
  • ウノウラボ Unoh Labs: 続・Emacsを自分で拡張するためのTips

    今年の春頃からトリプルディスプレイで仕事しているbokkoです。なんだか同僚の視線が気になりますが、あえて空気を読まないことにしています。 前に「EmacsLispを自分で拡張する際のTips」という記事を書きましたが、今回はその続きです。 EmacsLispは難しい? EmacsLisp(以下、elisp)は難しいという意見をたまに耳にしますが、elisp自体はそれほど難しいものではありません。ただ、関数名がバラバラでややこしかったり、マニュアルが巨大でどこを見ていいのかわからず、目的のことをするための関数が見つからない、といったようにユーザが難しいと感じるのはelispという言語そのものではなく、環境(OS、ウインドウ、バッファなど)とのインタフェースにあるため、結果的にEmacsLispは難しいと感じてしまうことが多いようです。 実際、elispでプログラミングしていて感じるのはウ

  • yasnippet.elをインストールしてみた

    emacserの間で密かなブームとなっているyasnippet.elをインストールしてみました。 実はsnippet的なものを使うのは初めてだったので、ちょっと細かく覚える意味も含めてインストール方法から書いてみます。 インストール方法は簡単で、2つ方法があります。横着は人は上記ページの「yasnippet-bundle-0.3.1.el.tgz」をダウンロードしてきて、解凍してできたyasnippet-bundle.elを適当なディレクトリ(例えば$HOME/.emacs.d/plugins/とか)に置いて、以下のように設定します。 (add-to-list 'load-path "~/.emacs.d/plugins") (require 'yasnippet-bundle) このyasnippet-bundleってやつは、各種言語用(など)のsnippetの設定もlispの中に同梱し