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

Emacsを便利に使うための提案(語のkill・マーク編)

前回 に引き続き,今回は語の操作に関する提案である. M-f や M-d などの語の操作は C-f や C-d の1字の操作に対応しているが, C-h が元々ヘルプであったためか,M-h に関しては,大半の人が C-h に設定しているであろう delete-backward-char との対応が…

Emacsを便利に使うための提案(行のcopy・kill編)

Emacs を使用していると,行全体をコピーしたくなることがよくある.そういうときは C-a C-k C-y C-a C-k C-/ C-a C-SPC C-e M-w のどれかで行っているのだが,利用する頻度の割に入力するキーが多くて面倒だ.そこで,行全体をコピーするキーを定義したいと…

DDSKKの日本語入力でC-iをまともに使いたい

DDSKK を使用していて困っていたのが,「かなモード」や「カナモード」のときに transient-mark-mode が有効なときの C-i が indent-resion にならないことだ.TAB キーでは上手くいくのに,C-i だとなぜかリージョン範囲が削除される. define-key などで調…

anything-for-filesにrecentfを全て表示したい

recentf-max-saved-items を変更しても,anything-for-files で表示される recentf が増えないのが嫌だったので anything-c-source-recentf を書き換えた.やることは anything-for-filesでlocateを有効にすると表示直後に移動したカーソルが一番上に戻され…

anything-for-filesでlocateを有効にすると表示直後に移動したカーソルが一番上に戻される問題

locate の表示数が多すぎるのがよくないらしい.ということで .emacs に以下のコードを追加して anything-c-locate で表示される項目数を限定. ;;; anything-locate の表示数を50に限定 (setq anything-c-source-locate `((name . "Locate") (candidates . …

anything-for-filesでlocateが動かない問題について

anything インストール済み Emacs を起動してすぐに anything-for-files を起動しても,locate が動かない.anything-for-files には anything-c-source-locate が含まれているはずなのに……. 原因は,anything-c-locate-command が初期状態では nil になっ…

Emacsの単語をブラウザで検索

Emacs でコードとか読んでると Google で検索したくなることはよくあるので,方法をいろいろ調べてみた. anything-c-source-surfraw 1つが anything-c-source-surfraw.anything をインストールしている Emacs なら,sudo apt-get install surfraw で surfr…

O'ReillyのiPhoneアプリからepubを作成するRubyプログラム

404 Blog Not Found:perl - O'ReillyのiPhoneアプリ本からepubをぶっこぬく をRubyで書いた.ziprubyが必要.Ubuntuで使用したが,ziprubyがあればたぶんWindowsでも動く. akisute3/ipa2epub · GitHub # -*- coding: utf-8 -*- #/usr/bin/env ruby # # O'Re…

elispでprintデバッグ

こんな関数を定義してみるのはどうだろう. ;;; printデバッグ用関数 (defun p (FORMAT-STRING &rest ARGS) (prog1 (apply 'message FORMAT-STRING ARGS) (sit-for 3))) ;;; 例 (setq num 10) (p "num: %d" num) ; => "num: 10" (message "num: %d" num) ; =…

Rubyでハッシュのキーをシンボルに統一する

ハッシュのキーは全てシンボルにしたい派.しかし,YAML を使っていると「key: value」を load したときに {"key"=>"value"} になってしまう.だからといって「:key: value」と書くのも面倒. ということで Hash のキーをシンボルに統一するメソッド symboli…

Rubyで豊富なイテレータ(ブロック付きメソッド)を使用する理由

ary.each do で全てのケースをカバーできるのに、特別な構文をいくつも用意してタイプ量をわずかに減らすことに何の意味があるのでしょうか? というコメントをいただいたので,自分なりの考えを述べたいと思う. 様々なイテレータがある理由,これは一言で…

Emacsで書いたorg文書とToodledoを同期するorg-toodledo

今までTodo管理にToodledoを使っていたが,これをEmacsで管理できないだろうかと思った.でも,Emacsが使えない環境でもTodoの確認をしたり,Toodledoと同期するiPhoneアプリも使い続けたいので,org文書に書いたTodoリストとToodledoのTodoリストを同期でき…

Ubuntu11.10でサスペンドやハイバネートに失敗する問題の解決方法

Ubuntu11.10でサスペンドやハイバネートをすると,画面は真っ暗になるものの電源が落ちずにフリーズ状態になる問題に悩まされた.その応急処置として以下の方法で解決した. dconf-editor をインストール (sudo apt-get install dconf-editor) dconf-editor …

EmacsのC-hをbackspaceとして使用する

Emacs の C-h は初期状態では help となっているが,これを backspace として使用したいと考える人は多いと思う.この方法には,以下の2通りある. global-set-key で C-h に delete-backward-char を割り当てる keyboard-translate を使用して C-h に backs…

アクティブウィンドウをもう1つのディスプレイに移動するRubyプログラム

デュアルディスプレイ環境だと,もう一方のディスプレイにアクティブウィンドウを移動したいことがある.しかし,そのようなショートカットはUbuntu11.10に存在しないため,自分でRubyスクリプトを書いた. 必要なものはxprop,xwininfo,wmctrl,それとRuby…

Javaで配列を標準出力する

Java を書いてるときに String 型の配列を標準出力したいなと思ってググったら、こんなページを上の方に見つけた。 String[] 型の配列を簡単に出力するには - Yahoo!知恵袋 一番簡単な方法は、 for (String str : strAry) { System.out.println(str); } と書…

コードアシストを利用したeclipseプラグインを作りたい人へ

eclipse で便利な機能といえばコードアシスト(コンテンツアシスト)。Ctrl + Space でコードの補完ができるアレだ。これを自作プラグインで拡張したいと思う人も多いだろうが、情報も少なく私自身もかなり苦戦したのでここに説明しておく。 拡張ポイント そも…