2013-01-01から1ヶ月間の記事一覧

Emacs Lispの正規表現における \A, \z

s.elのソースを読んでいたとき、発見したので 記事に残しておきます。 "\A"というのは文字列の先頭、"\z"というのもは文字列の末尾にマッチする アンカーです。"^", "$"は行頭、行末を意味し、1列しかない文字列だと 同じ意味ですが、複数行を扱うとき意味が…

mode-lineのモード情報をコンパクトに表示する

mode-lineに表示されるモードが長ったらしいとうざいです。 最近は PCの画面も横に伸びてきて、1つしかウインドウがない 場合はいいんですが、フレームを分割をしていくと、窮屈に なってしまいます。 そのあたりのことを何も気にせず設定していると以下のよ…

mode-lineに表示される elscreenのタブ情報を消す

elscreenを使うとデフォルトで mode-lineに現在のタブ番号が表示 されるんですが、私はウインドウバーにそのあたりの情報を表示して いるので不要でした。また mode-lineはせまいんで余計な情報は載せ たくないということで、消す方法を調べました。 問題点 …

elscreen-wlを forkしました

Github版 Wanderlustで elscreen-wlが機能しないってことで 放置していたんですが、なんとかなりそうなので forkして対応してみました。 elscreen-wlはメールを書く操作を行うとき、新規にタブを開いてくれるものです。 ついでに編集が終わるとタブを削除し…

import-popwin 各種言語の import文付近を popupする

emacsでperlのuse文挿入を簡単に - $shibayu36->blog; を種々の言語で使えるようにして、自分で hook関数を設定できるように したものです。 リポジトリ https://github.com/syohex/emacs-import-popwin 必要要件 popwin 0.6以降 イメージ C言語だと include…

Emacs Lispで例外処理

direx.elでgitプロジェクトのディレクトリツリーを表示する、またはdirex-project.elの紹介 - $shibayu36->blog; Emacs Lispというか Lisp系の言語はエラー処理が豊富です。 私もよくわかっていない部分もあるので問題があればお知らせください。 ignore-err…

簡易 eshell-pop, cde, cdp

個人的に Emacsから shellを使うことは苦手で基本使わないんですが、 それでもわざわざ Emacsから shellに Alt-Tab等で切り替える必要も ないかってこともあるので、eshellをちょろっと使うようの関数を 書いてみました。 cdeは eshell-popを実行したバッフ…

Emacs Lispパッケージを書く場合のテンプレート

Emacs Lisp使ったパッケージを書く場合はとりあえず以下のようにしましょう。 ;;; ファイル名.el --- パッケージ概要 ;; Copyright (C) 2013 by 名前 ;; Author: 名前 <メールアドレス> ;; URL: リポジトリの URL等 ;; Version: 0.01 ;; Package-Requires: (…

flymakeの設定する前に flycheckを確認しよう

flycheck/flycheck · GitHub twitterで前に少し書いたのですが、記事にもしておきます。 動的にエラー表示を行なってくれる flymakeはとても便利なんですが、 設定が面倒です。初期関数だったり、エラー出力を解析するための正規表現の 指定やら、苦労したこ…

IPC::Open3::open3に関するメモ

Plack::Middleware::File::Less を lessc でコンパイルするように - naoyaのはてなダイアリー で紹介されている。Plack::Middleware::File::Lessのソースの 以下の部分が気になりました。 sub less_command { my $less = shift; my $pid = open3(my $in, my …

rm -rf symlink/して不幸になりたくなければ unlinkを使えばいい

シンボリックリンクをrm -rf symlink/すると不幸になる - かーねる・う゛いえむにっき ですが、ディレクトリを消してしまうというリスクをそもそもなくして しまえばいいですよね。その答えが unlinkコマンドです。 unlinkコマンド ファイルだけ消せる rmコ…

git-gutter.elを更新しました

Sublime Text2のプラグイン GitGutterの Emacs版 git-gutter.elを更新しました。 リポジトリ https://github.com/syohex/emacs-git-gutter インストール MELPAと el-getに pull requestを送りましたんで、いずれそれらから インストールできるようになるかと…

勝手に添削 perlbrew.el

pull requestにしようかとも思ったんですけど、バグフィックスって わけでもないし、ここに書くことにします。あと多岐にわたるっていう のもあって、分割して requestするのが面倒だっていうのもいくらか あります。 私自身 にわか Emacs Lispプログラマな…

alcで単語を検索するための helm-alc

単語を調べるための helm-sourceです。選択した単語を alc.co.jpのページを開きます。 単語候補は "look ."で生成しています。 コード (defun helm-alc:init () (with-current-buffer (helm-candidate-buffer 'global) (let ((ret (call-process-shell-comma…

"set -e"に関するメモ

シェルスクリプトで #!/bin/sh set -e とすると、コマンド実行時に戻り値が 0以外になれば即座に終了 するという便利な機能があります。しかし diffコマンドのように 戻り値 0は差分なし、1は差分あり、それ以外はエラーみたいな 感じで戻り値を利用されると…

ruby-modeの C-M-a, C-M-eの挙動

MELPAで取得できる ruby-modeの ruby-beginning-of-defun(C-M-aに bind)は moduleの中で定義される classや関数の定義には移動してくれません。 定義は以下のようになっています。 (defun-region-command ruby-beginning-of-defun (&optional arg) "Move bac…

helm-perldocを書きました

あけましておめでとうございます。今年もよろしくお願いします。 helm-perldocは perldocを Emacsから使うための helm拡張です。 perl-completionに同様の機能があるのですが、それの helm版です。 機能を分割してメンテナンスをしやすくというような意図も…