2012-01-01から1年間の記事一覧
Emacsで何かやりたいとき, 何をすればいいかはわかっていても, Emacs Lispで それをどうやって表現したらいいかわからないということがあるかと思います. すべてではありませんが, よく使いそうな処理を他の言語と合わせて掲載します. 詳しいことは以下にあ…
概要 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();…
この記事は Emacs Advent Calendar 2012の 25日目の記事です。Emacsで英文を書くときの補助ツールを紹介します。 ispell おなじみの ispellです。 (require 'ispell) (setq-default ispell-program-name "aspell") イメージ 候補の中から単語を選ぶことがで…
この記事は Emacs Advent Calendar 2012の 24日目の記事です。 今日は helm(anything)を使いこなすというかより便利に使うための tipsを紹介します。 アクションを使いこなす helm(anything)は通常であればデフォルトアクションと呼ばれる 最も期待する動作…
git-gutter.elを書いてみました - Life is very short は linum-modeと同じ方法で実装を行いましたが、linum-modeと 併用できないという問題があったので fringeに git情報を載せる git-gutter-fringe.elを作成しました。 リポジトリ https://github.com/syo…
この記事は zsh advent calendar 2012の 19日目の記事です。 zaw-cdrとは zshの 4.3.15に導入された cdrという最近いたディレクトリに移動する コマンドの zawインタフェースです。これで最近いたディレクトリに超絶楽に 移動することができます。私はこれを…
ST2の中でGitDiffを視覚化するGitGutterが死ぬほど便利だった - mizchi log という記事を見て、作ってみました。上記のサイトであるように "git diff"を視覚化するものです。 リポジトリ syohex/emacs-git-gutter · GitHub 本家はこちらです。 例 以下のよう…
この記事は Emacs Advent Calender 2012 15日目の記事です。 ポモドーロテクニックとは 時間管理術の一つで、25分に区切って作業を進めていくものです。 参考 Pomodoro Technique - Wikipedia, the free encyclopediaアジャイルな時間管理術 ポモドーロテク…
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の各オプティマイズレベルで有効になる最適化を調べる - Life is very short の GCC 4.7版。"-Ofast"を追加しました。"-Ofast"は規約を一部 無視した最適化を行うようです。"-O3"より高速になるよう意図 されています。 なお GCC 4.8では "-Og"という最適…
color-themeでEmacsの見た目をきれいにする - Qiita Emacs 24以上を使っているという前提があるのですが、独自のテーマを作る場合は color-themeより、Emacs 24から導入された themeフレームワークを使う ことをおすすめです。 機能的には変わらないと思うの…
ここ十数年ぐらいの GCCの最適化は "-O3"までありません。 稀に "-O3"より大きい、"-O4"等を見るけど、それは結局 "-O3"に されてしまいます。 追記 なお最高速度のオプションは "-Ofast"です。ただこれは規約に 沿わない形での最適化も含まれます。大部分は…
この投稿はEmacs Advent Calendar 2012の 7日目の記事です。 拙作の helmプラグインを紹介しようかと思ったのですが、 そもそも helm(anything)を使っている人がものすごく多いって わけではなさそうなので、おすすめの拡張をいくつか紹介しようと 思います…
自前でいくつかユーティリティ関数を書いていたんですが、 まとめるついでに helm対応してみました。 リポジトリ https://github.com/syohex/emacs-helm-pydoc 設定 gitリポジトリを cloneして、そのディレクトリに load-pathを設定します。 実行 M-x helm-p…
作業をしていると elscreenのタブが溜まってきて消していくんですが、 面倒なんでまとめて消せないかなって思っていました。で elscreenには そのような機能がなさそうなので自分で作るかって考えていたんですが、 helm-elscreenを使えばできることがわかっ…
自分のコード綺麗って思ってんの? - ✘╹◡╹✘ 普段 Rubyを書くことが皆無ですが、なんとなく helm interfaceを作ってみる。 現在編集中のファイルに guidelineを適用し、目的の場所にジャンプします。 コード ;;; helm-guideline.el --- guideline with helm i…
誤爆することがあるので使わないキーを無効にしました。 zshでは 'bindkey -r'で無効化できるようです。 bindkey -r '^O' # Ctrl-o bindkey -r '^J' # Ctrl-jキーバインド一覧は引数なしの bindkeyで確認できます。 % bindkey "^@" set-mark-command "^A" be…
ghc-flymakeのエラーメッセージにはNUL文字("\0")が含まれていて、flymakeの エラーメッセージをポップアップさせると見た目がいまいちです。(以下のような感じ) なんで NUL文字を除去して見やすくしました。 大して追っていませんが、ghc-flymake内で NUL文…
websocket.el + Amon2でリアルタイム Markdown Viewer - Life is very short Websocketを使った Realtime Markdown Viewerなるものを websocket.elで 作ってみたんですが、必要なものがいろいろ多すぎた等の意見を頂いたので よりシンプルに作ってみました。…
org-babelっていろいろ requireして面倒だし、オプションの指定を しないと標準出力への書き出しも表示されないし、ということで quickrunを使って org-modeのコードを実行する関数を書いて みました。通常であれば言語を指定する部分に quickrunのコマンド …
quickrun.elでファイルに関連づいていないバッファで quickrunを実行する とき、Cファイルとか C++だと拡張子がないということで怒られたので その対応を調べてました。それについてのメモ。 問題点 #include <stdio.h> int main (void) { printf("hello world\n"); r</stdio.h>…
Graphviz-DSL-0.02 - Graphviz Perl interface with DSL - metacpan.org Graphviz::DSL 0.02をリリースしましたので、非互換修正、新機能に ついて紹介します。 リポジトリ syohex/p5-Graphviz-DSL · GitHub 非互換な修正 edgeメソッドの第一引数が Stringか…
jedi-eldocを作ったときあんまり参考資料がなかったので メモを残しておきます。 eldoc-documentation-functionを設定する 具体的になるやるかというと, eldoc-documentation-functionに関数を 設定するだけです。minor-modeの初期化時に以下のようにすれば…
jedi-eldocを書いてみました。 - Life is very short という記事を書いたのですが、@tkfさんに minibufferに 表示する機能は元々あると教えていただいたので highlight機能だけ pull requestしてマージしてもらいました。これからは emacs-jediを 使うだけで…
emacs-jediはデフォルトで関数のシグネチャをポップアップして くれるんですが、個人的にその場に表示よりも minibufferに表示した 方が慣れているんでいいかなと思って書いてみました。pos-tipの問題の ためなのかなんなのかわかっていないですが、Macだと…
Emacsの多分割されたバッファを1ストロークで上下左右に移動 - 会者定離で以降 なぜか最近はてブがついていた記事ですが、移動のキーが Lispプログラミングで 使うキーなので、人によっては辛いのではないかと思います。Emacsだとキーが どうしても不足しが…
syohex/emacs-quickrun · GitHub quickrun.el version 1.7.3をリリースしました。 package.elを使って MELPAからインストールすることができます。 既存の機能の上書きに対応 類似機能の追加に関しては全部 quickrun-add-commandで追加して、 ある言語のデフ…
http://d.hatena.ne.jp/ikstrm/20121025/1351126600 上記のサイトでは gtagsは使いづらく、grep等の紹介をしています。 素の gtags.elを使うのであればそれでもいいかもしれないですが、 helmや anythingと組み合わせて使えば間違いなく grepよりも 良いと思…
http://d.hatena.ne.jp/hiratara/20121024/1351054828 Floating point number decoding in JSON::XS - blog.64p.orgの問題が再現しない環境に関するメモ 環境 i386 Linuxと Windows上の Unix環境(Cygwin等)ではおそらく再現しない のではないかと思います。…
Glibcに限った話なんですが、setlocaleで "POSIX"を指定しても 現在の localeは "POSIX"になりません。"C"になります。これは 内部的に同じものを意味するので大して問題になるわけではないん ですが、現在の localeの文字列を比較するような場合は注意が 必…