2012-01-01から1年間の記事一覧

よくある処理を Emacs Lispで書く場合

Emacsで何かやりたいとき, 何をすればいいかはわかっていても, Emacs Lispで それをどうやって表現したらいいかわからないということがあるかと思います. すべてではありませんが, よく使いそうな処理を他の言語と合わせて掲載します. 詳しいことは以下にあ…

Perlで雪を降らす

概要 Make your terminal snow with python · GitHubの Perl版。 ソース #!perl use strict; use warnings; use Encode (); use Time::HiRes (); use Term::ReadKey (); local $| = 1; my %snowflakes; my ($columns, $rows) = get_terminal_size(); main();…

英文を書く際の tips

この記事は Emacs Advent Calendar 2012の 25日目の記事です。Emacsで英文を書くときの補助ツールを紹介します。 ispell おなじみの ispellです。 (require 'ispell) (setq-default ispell-program-name "aspell") イメージ 候補の中から単語を選ぶことがで…

helm(anything)をより便利に使う tips

この記事は Emacs Advent Calendar 2012の 24日目の記事です。 今日は helm(anything)を使いこなすというかより便利に使うための tipsを紹介します。 アクションを使いこなす helm(anything)は通常であればデフォルトアクションと呼ばれる 最も期待する動作…

git-gutter.elの fringe版を作成しました

git-gutter.elを書いてみました - Life is very short は linum-modeと同じ方法で実装を行いましたが、linum-modeと 併用できないという問題があったので fringeに git情報を載せる git-gutter-fringe.elを作成しました。 リポジトリ https://github.com/syo…

zaw-cdrで helm.el(anything.el)っぽくにディレクトリ移動をする

この記事は zsh advent calendar 2012の 19日目の記事です。 zaw-cdrとは zshの 4.3.15に導入された cdrという最近いたディレクトリに移動する コマンドの zawインタフェースです。これで最近いたディレクトリに超絶楽に 移動することができます。私はこれを…

git-gutter.elを書いてみました

ST2の中でGitDiffを視覚化するGitGutterが死ぬほど便利だった - mizchi log という記事を見て、作ってみました。上記のサイトであるように "git diff"を視覚化するものです。 リポジトリ syohex/emacs-git-gutter · GitHub 本家はこちらです。 例 以下のよう…

Emacsでポモドーロテクニック

この記事は Emacs Advent Calender 2012 15日目の記事です。 ポモドーロテクニックとは 時間管理術の一つで、25分に区切って作業を進めていくものです。 参考 Pomodoro Technique - Wikipedia, the free encyclopediaアジャイルな時間管理術 ポモドーロテク…

Perl パッケージ名の自動チェック(Emacs編)

http://perl-users.jp/articles/advent-calendar/2012/casual/13 のパッケージ名チェックを Emacs Lispで書いてみました。 コード (defun cperl-get-package-name () (save-excursion (goto-char (point-min)) (if (re-search-forward "^\\s-*package\\s-+\\…

GCC 4.7の最適化オプション比較表

gcc

GCCの各オプティマイズレベルで有効になる最適化を調べる - Life is very short の GCC 4.7版。"-Ofast"を追加しました。"-Ofast"は規約を一部 無視した最適化を行うようです。"-O3"より高速になるよう意図 されています。 なお GCC 4.8では "-Og"という最適…

Emacs 24以上を使うなら color-themeではなく、Emacsの themeフレームワークを使おう

color-themeでEmacsの見た目をきれいにする - Qiita Emacs 24以上を使っているという前提があるのですが、独自のテーマを作る場合は color-themeより、Emacs 24から導入された themeフレームワークを使う ことをおすすめです。 機能的には変わらないと思うの…

GCCの最適化オプションは "-O3"までしかない

gcc

ここ十数年ぐらいの GCCの最適化は "-O3"までありません。 稀に "-O3"より大きい、"-O4"等を見るけど、それは結局 "-O3"に されてしまいます。 追記 なお最高速度のオプションは "-Ofast"です。ただこれは規約に 沿わない形での最適化も含まれます。大部分は…

おすすめの helm拡張

この投稿はEmacs Advent Calendar 2012の 7日目の記事です。 拙作の helmプラグインを紹介しようかと思ったのですが、 そもそも helm(anything)を使っている人がものすごく多いって わけではなさそうなので、おすすめの拡張をいくつか紹介しようと 思います…

helm-pydoc.elを書いてみました

自前でいくつかユーティリティ関数を書いていたんですが、 まとめるついでに helm対応してみました。 リポジトリ https://github.com/syohex/emacs-helm-pydoc 設定 gitリポジトリを cloneして、そのディレクトリに load-pathを設定します。 実行 M-x helm-p…

elscreenのタブをまとめて消す

作業をしていると elscreenのタブが溜まってきて消していくんですが、 面倒なんでまとめて消せないかなって思っていました。で elscreenには そのような機能がなさそうなので自分で作るかって考えていたんですが、 helm-elscreenを使えばできることがわかっ…

helm-guideline.el

自分のコード綺麗って思ってんの? - ✘╹◡╹✘ 普段 Rubyを書くことが皆無ですが、なんとなく helm interfaceを作ってみる。 現在編集中のファイルに guidelineを適用し、目的の場所にジャンプします。 コード ;;; helm-guideline.el --- guideline with helm i…

zshで使わないキーを無効にする

zsh

誤爆することがあるので使わないキーを無効にしました。 zshでは 'bindkey -r'で無効化できるようです。 bindkey -r '^O' # Ctrl-o bindkey -r '^J' # Ctrl-jキーバインド一覧は引数なしの bindkeyで確認できます。 % bindkey "^@" set-mark-command "^A" be…

ghc-flymakeのメッセージを見やすくする

ghc-flymakeのエラーメッセージにはNUL文字("\0")が含まれていて、flymakeの エラーメッセージをポップアップさせると見た目がいまいちです。(以下のような感じ) なんで NUL文字を除去して見やすくしました。 大して追っていませんが、ghc-flymake内で NUL文…

Emacs + MozRepl + Github Markdown APIを使った Markdown Viewer

websocket.el + Amon2でリアルタイム Markdown Viewer - Life is very short Websocketを使った Realtime Markdown Viewerなるものを websocket.elで 作ってみたんですが、必要なものがいろいろ多すぎた等の意見を頂いたので よりシンプルに作ってみました。…

org-quickrun

org-babelっていろいろ requireして面倒だし、オプションの指定を しないと標準出力への書き出しも表示されないし、ということで quickrunを使って org-modeのコードを実行する関数を書いて みました。通常であれば言語を指定する部分に quickrunのコマンド …

拡張子のない Cファイルをコンパイルする

quickrun.elでファイルに関連づいていないバッファで quickrunを実行する とき、Cファイルとか C++だと拡張子がないということで怒られたので その対応を調べてました。それについてのメモ。 問題点 #include <stdio.h> int main (void) { printf("hello world\n"); r</stdio.h>…

Graphviz::DSL 0.02をリリースしました

Graphviz-DSL-0.02 - Graphviz Perl interface with DSL - metacpan.org Graphviz::DSL 0.02をリリースしましたので、非互換修正、新機能に ついて紹介します。 リポジトリ syohex/p5-Graphviz-DSL · GitHub 非互換な修正 edgeメソッドの第一引数が Stringか…

独自の eldoc関数を設定することに関するメモ

jedi-eldocを作ったときあんまり参考資料がなかったので メモを残しておきます。 eldoc-documentation-functionを設定する 具体的になるやるかというと, eldoc-documentation-functionに関数を 設定するだけです。minor-modeの初期化時に以下のようにすれば…

jedi-eldocの機能が、emacs-jediにマージされました

jedi-eldocを書いてみました。 - Life is very short という記事を書いたのですが、@tkfさんに minibufferに 表示する機能は元々あると教えていただいたので highlight機能だけ pull requestしてマージしてもらいました。これからは emacs-jediを 使うだけで…

jedi-eldocを書いてみました。

emacs-jediはデフォルトで関数のシグネチャをポップアップして くれるんですが、個人的にその場に表示よりも minibufferに表示した 方が慣れているんでいいかなと思って書いてみました。pos-tipの問題の ためなのかなんなのかわかっていないですが、Macだと…

Re: Emacsの多分割されたバッファを1ストロークで上下左右に移動

Emacsの多分割されたバッファを1ストロークで上下左右に移動 - 会者定離で以降 なぜか最近はてブがついていた記事ですが、移動のキーが Lispプログラミングで 使うキーなので、人によっては辛いのではないかと思います。Emacsだとキーが どうしても不足しが…

quickrun.el version 1.7.3

syohex/emacs-quickrun · GitHub quickrun.el version 1.7.3をリリースしました。 package.elを使って MELPAからインストールすることができます。 既存の機能の上書きに対応 類似機能の追加に関しては全部 quickrun-add-commandで追加して、 ある言語のデフ…

PHPで GNU globalを使う

http://d.hatena.ne.jp/ikstrm/20121025/1351126600 上記のサイトでは gtagsは使いづらく、grep等の紹介をしています。 素の gtags.elを使うのであればそれでもいいかもしれないですが、 helmや anythingと組み合わせて使えば間違いなく grepよりも 良いと思…

JSON::XSの問題が再現しない環境に関するメモ

http://d.hatena.ne.jp/hiratara/20121024/1351054828 Floating point number decoding in JSON::XS - blog.64p.orgの問題が再現しない環境に関するメモ 環境 i386 Linuxと Windows上の Unix環境(Cygwin等)ではおそらく再現しない のではないかと思います。…

setlocaleで "POSIX"を指定するときの注意

Glibcに限った話なんですが、setlocaleで "POSIX"を指定しても 現在の localeは "POSIX"になりません。"C"になります。これは 内部的に同じものを意味するので大して問題になるわけではないん ですが、現在の localeの文字列を比較するような場合は注意が 必…