emacs

emacs で anything 起動中に入力中のパターンを区切りマッチに変化させるコマンド

ik:anything-cycle-pattern を anything 起動中に起動させると入力中のパターンを「区切りにマッチする正規表現」に変化させる事ができます。連続して起動すると順番に変化していきます。自分は Shift+d に割り当てています。 (define-key anything-map (kbd…

70行で emacs に Text::MicroTemplate like なテンプレートを実装する

>>>> 2010/04/23 追記 未使用の変数消したので、69行になってしまいました。 「(eval-when-compile (require 'cl))」まで加えて丁度70行です。 (eval-when-compile (require 'cl)) (defun* micro-template (mt/template &key (mt/source-type 'string)) (fle…

選択している文字列を camelcasesnakecase に変換するコマンド

;; copied from rails-lib.el (defun ik:decamelize (string) "Convert from CamelCaseString to camel_case_string." (let ((case-fold-search nil)) (downcase (replace-regexp-in-string "\\([A-Z]+\\)\\([A-Z][a-z]\\)" "\\1_\\2" (replace-regexp-in-st…

smartchr.elがやばい!

連続で押すと指定した文字列を順番に入力するコマンドを、簡単に定義するための拡張 smartchr.el をリリースしました。自分で作っておいてアレですが、しばらく使ってみて、手放せない拡張になったので宣伝しておきます。smartchr.el from imakado on Vimeo.…

auto-complete.el 1.0aでlambdaで定義したコマンドが使えない

2009-11-20 追記 以下の変更は、 322dcb5a で本家にmergeされました。 auto-complete.elのversionを 1.0a(http://github.com/m2ym/auto-complete)に上げたのですが、 (global-set-key (kbd "=") (lambda () (interactive) (insert "="))) 上のようにlambdaで…

anything-projectの候補にディレクトリが含まれないようにする

(setq ap:project-files-filters (list (lambda (files) (remove-if 'file-directory-p files)))) 最新の anything-project.el だと上のように書いておけばファイルのみが対象になります。

auto-complete.el の ac-source-words-in-buffer の候補に日本語を含む単語が含まれないようにする

(require 'cl) (require 'auto-complete) (defadvice ac-candidate-words-in-buffer (after remove-word-contain-japanese activate) (let ((contain-japanese (lambda (s) (string-match (rx (category japanese)) s)))) (setq ad-return-value (remove-if …

symfony.el始めました。

一昨日くらいからsymfony.elを作り始めました。 rails.el や rinari.el, symfony.vim とか見ながら作ってます。 コードはgithub上にあります。 http://github.com/imakado/emacs-symfony/tree/master絶賛開発中でございます。 Installation `anything.el' ht…

conspとlistpの違い

(equal t (consp nil)) ;;=> nil (equal t (listp nil)) ;;=> t

DBIC_TRACE=1のときに発行されるsqlにどこで発行されたクエリか追記する

package DBIx::Class::Storage::Statistics::Caller; use strict; use warnings; use base qw/ DBIx::Class::Storage::Statistics /; sub query_start { my ($self, $string, @bind) = @_; my $caller_sub_name = $self->_get_non_dbic_caller; my $message …

SQL扱うのに便利な関数とか、プレースホルダーを埋める関数とか

Arkのログ、DBIC_TRACE=1 の時に出るやつをごニョゴニョしたいと思って。いろいろやってみた。SELECT * FROM user me WHERE ( ( me.id = ? AND deleted = ? ) ): '4', '0'を選択して、 M-x sql-fill-placeholders すると、kill-ring にSELECT * FROM user me…

Emacsに選択してる範囲を読んでもらう

say コマンドがインストールされている場合のお話です。 (defun say-on-region (&optional start end) (interactive "r") (unless (executable-find "say") (error "say command is not installed!!")) (shell-command-on-region start end "say")) 読んで欲…

デフォルト設定の semantic が semantic.cache を各ディレクトリに作ってアレなときにすべき設定

semanticdb-default-save-directory にディレクトリを設定してあげると、そこにキャッシュを作るようになります。 (setq semanticdb-default-save-directory "~/.emacs.d/") また、 semanticdb-default-file-name を変更するとキャッシュファイルの名前を変…

perl編集時以外でもperl-completionのコマンドを使う

perldocを開くコマンドをperl編集時以外にも使いたいときがあります。 その場合は以下のように global-map に perl-completion.el のコマンドを割り当てると、いつでも使えるようになります。 ;; perl-completionがインストールされていれば割り当てる (when…

EmacsにPHPの補完を実装するマイナーモード、php-completion.elをリリースしました。(動画有)

anything.elのインターフェイスを使い、EmacsにPHPの補完を実装するマイナーモード php-completion.el をリリースしました!! auto-complete.elとの連携もできます。 スクリーンキャスト php-completion.el DEMO from imakado on Vimeo. 出来る事 visual stud…

M-x align を知らなくていいのは小学生までだよね

隣の席のid:typesterさん(上司)から M-x align の存在を教えてもらった。今まで手動でそろえていました自分って・・・ my $hsh = { hoge => 'hoge', hugapiyo => 'hugapiyo', hogepiyohuga => 'hogepiyohuga', }; こんなコードをリージョン選択して、 M-x al…

関数にlocalな変数を作る。あとbyte compilerのwarningsを抑える

emacs lispで複数の関数で共有したい変数を作りたい場合、普通は、グローバル変数を作って (require 'cl) ; incf (defvar my-count 0) (defun my-inc-count () (incf my-count)) (defun my-reset-count () (setq my-count 0)) (defun my-get-count () my-cou…

日本人ユーザーかどうか判別する処理

を考えたのですが (cond ((string= (downcase current-language-environment) "japanese") (message "japanese")) (t (message "otherwise"))) しか思いつきませんでした。

日本語入力時にkey-chord.elが動作しないようにするadvice

日本語入力時もkey-chorde.elが動いちゃう問題は、egbridge使ってる人限定かもしれないです。 以下のコードはcarbon-emacs用です。 他のemacsの場合は、mac-get-current-key-script の部分を変えてください。 (when (and (featurep 'carbon-emacs-package) (…

erc以外のバッファに対してkill-bufferする関数

タイトルの通りです。全てを消し去りたいときにどうぞ!! (defun my-kill-buffers () (interactive) (let ((buffers (loop for bn in (mapcar 'buffer-name (buffer-list)) when (not (or (string-match (rx bol (+ space)) bn) (string-match (rx bol "#") b…

プロジェクトのルートを自動的に判別してanything-grepをする。

プロジェクトルートを取ってくる部分は http://trac.codecheck.in/share/browser/lang/elisp/anything-find-project-resources/trunk/anything-find-project-resources.el を参考にしました。っていうかまんまパクりました。すいません。 (defun anything-de…

#emacs-lisp-ja@irc.freenode.net 作りました

タイトルの通り、freenodeに #emacs-lisp-ja を作りました。 正確には、#emacs-lisp-jaが欲しいとぼやいたら、直ぐにid:k1LoWが作ってくれました。 色々分からないところとか、気軽に話しましょう。 先生・・・誰かとemacs lispの話がしたいです。 自分はirc…

sequential-command.el使ってみた。

同じコマンドを連続実行することで挙動を変える(行頭→先頭など) sequential-command.el をリリース - http://rubikitch.com/に移転しましたリリースされたばかりの sequential-command.el を使ってみました。 一つのコマンドで複数の動作ができるのは思っ…

フレームを半透明にするコマンド

carbonemacsで半透明に切り替えるコマンドとして使っています。 他のEmacsで同じように動くかは不明です。 (defun ik:toggle-opacity () (interactive) (when window-system (ignore-errors (if (= (assoc-default 'alpha (frame-parameters)) 100) (set-fra…

emacs,vi(m),Eclipse,NetBeansみんな集まれ、テキストエディタ勉強会(fukuoka-emacs#x02も含まれてるよ!!)

テキストエディタ勉強会2009/02/21に、テキストエディタ勉強会 - 第一回 が行われます。 Emacs,Vi(m),Eclipse,秀丸,使いの人たちが一同に集まってエディター談義を交わすという、とても楽しそうなイベントです。みんな優しい人なので、こう、なんか、戦争的…

el-expectations.elを使ったテストまで移動する関数

el-expectationsを使ったテストに直ぐに移動するための関数です。 つい癖でanything-c-moccurなどを使ってテストの位置まで移動していましたが、コマンドにしたら凄く便利になって気持ちがスッキリしました。14行程コードを書けば世界が変わりますね。まあ名…

ポイントがある行のインデントより深い文字列を収得する関数

(defun take-same-indent-string () (let* ((indent (current-indentation)) (start-point (point)) (end-point (save-excursion (forward-line) (loop while (and (not (>= indent (current-indentation))) (not (eobp))) do (forward-line) finally return…

php-completion.el globalの作ったtagから補完候補を収得するようにした

http://coderepos.org/share/browser/lang/elisp/php-completion/trunk/php-completion.el Ver 0.02です。 gtagsで作ったタグファイルからも補完候補を収得する用にしました。globalがインストールされていない場合は、何もしません。 アイデアは、id:k1LoW…

development versionのphp-completion.elをコミットしました。

http://coderepos.org/share/browser/lang/elisp/php-completion/trunk/php-completion.el ver 0.01です。一応動くと思いますが、開発途中のバージョンなので、人柱になっても問題ない人向けです。できる事は、anything.elを使った関数名、定数、iniディレク…

Web::Scraperを使って、PHPの関数一覧をスクレイプする。

php-completion.elを作っていて、PHPの関数一覧が必要になったので、php.netからスクレイプするスクリプトを Web::Scraper を使って書いた。xpathに疎い自分ですが、cssのセレクターで指定できたので無問題でした。素晴らしすぎる。 use strict; use warning…