タグ

ブックマーク / rubikitch.hatenadiary.org (27)

  • 特定のキーに強制的にコマンドを割り当てる方法 - http://rubikitch.com/に移転しました

    Emacsにて、グローバルなキーマップ(global-map)を変更しても、すべてのバッファで有効にはなりません。 なぜなら、メジャーモードやマイナーモードでのマップがglobal-mapより優先するからです。 しかし、メジャーモードの特定のキー割り当てが気に入らず、自分用のコマンドを適用したいことがあります。 たとえば、僕の場合、C-tにother-window-or-spritというコマンドを割り当てています。そろそろEmacsのウィンドウについて一言いっとくか - http://rubikitch.com/に移転しました 参照。 C-tはdired-modeではimage-dired用のプレフィクスになっていてother-window-or-spritが使えません。 この場合は、キーマップ上書き専用マイナーモードを用意するのが手軽です。 こうすることでoverriding-minor

    特定のキーに強制的にコマンドを割り当てる方法 - http://rubikitch.com/に移転しました
    n2s
    n2s 2010/11/26
  • w3mの表を見やすくするパッチ - http://rubikitch.com/に移転しました

    w3mは、テキストブラウザでありながら、画像やフレームが表示できるなど、そこそこ便利です。 僕はニュースサイトやブログを見ることが多いので、ブラウジングの8割方がw3mで済んでいます。 なんといってもテキパキ立ち上がり、動作はとても軽快なので10年以上愛用しています。 指が慣れてしまっているので、将来超高速パソコンを使うことになっても使い続けるほどです。 さて、w3mの特徴である表のレンダリングですが、現状だとTABLE要素のBORDER属性により罫線が表示されないことがあります。 正しい動作ですが、border=0のときに罫線が見えないと境界線がわからず、見辛くなってしまいます。 たとえば、 当行ATM利用手数料 | 三菱UFJ銀行 の表をレンダリング結果を比べてみます。 Google Chromeでの表示 w3mでの表示 そこで、このパッチを当てることで、罫線が表示されるようになります

    n2s
    n2s 2010/11/21
  • レバレッジメモ: 論理的な文章を書く基本とコツ 〜明快な文章を短時間で書くための6ステップ〜 - http://rubikitch.com/に移転しました

    学習研究社刊、西村克己著『論理的な文章を書く基とコツ』を読みました。 僕は何冊かを執筆していますし、文章を書くことに苦手意識は持ってはいません。 しかし、文章を書くのにものすごい時間がかかってしまうことに問題意識を持っています。 こので初心に帰り、文章の基礎を見直そうと思います。 他にも数冊文章術図書館から借りています。 時間がかかるのはやり方に問題があるので、正しいやりかたに変えようというのが最近のモットーです。 読書はレバレッジ・リーディング です。 そして、情報の扱い方 と文章の書き方とプログラミングの作法を見直します。 書は文章を書くための基がステップバイステップで書かれているです。 文章を書くための手順が欲しければ、書はわかりやすいし、おすすめです。 文章を書くことがこれまでにないほど重要視されている中、小中学校では、文章の書き方をきちんと教えることが重要だと

    レバレッジメモ: 論理的な文章を書く基本とコツ 〜明快な文章を短時間で書くための6ステップ〜 - http://rubikitch.com/に移転しました
    n2s
    n2s 2010/11/06
  • 印刷枚数を最高1/16に圧縮するエコノミー印刷コマンド&u2psパッチ - http://rubikitch.com/に移転しました

    問題点印刷すると、PCがなくても文章を読めるので便利ですね。 ただ、困るのが長い文書は紙がかさばることです。 この問題は1枚の紙に複数ページをまとめて印刷することで解決できます。 mpageコマンドは、複数ページのテキストファイルかPostScriptファイルをまとめて印刷します。 しかし、そのまま実行しては1ページの文書を4分割で印刷するなど、ページ数にあわない挙動をします。 そこで、PostScriptファイル(テキストファイルもu2psコマンドでPostScriptに変換する)のページ数から、適切な分割をしてくれるようなスクリプトを書きました。 このスクリプトは、5ページ以上の文書は8分割して印刷します。 8分割を両面印刷することで、紙の使用量を1/16にまで落とすことができます。 80ページの文書が5枚におさまるのです。 さらに、文字が小さいと、左右への視線の移動がなくなるので速読

    印刷枚数を最高1/16に圧縮するエコノミー印刷コマンド&u2psパッチ - http://rubikitch.com/に移転しました
  • 新刊『Emacsテクニックバイブル 〜作業効率をカイゼンする200の技〜』目次とサンプルページ - http://rubikitch.com/に移転しました

    お待たせしました。 出版社からGOサインが出ましたので、新刊『Emacsテクニックバイブル 〜作業効率をカイゼンする200の技〜』 の目次とサンプルページを公開します。 近日 http://gihyo.jp/book/list にも載るでしょう。 このは頭から読むことで徐々に装備を整えていくことができる一方、やりたいことを実現するためには何をすべきなのかを逆引きすることもできます。 書のテーマは「Emacsカイゼン」です。 外部Emacs Lispにより装備をガンガン強化していくことを念頭に置いています。 RPGで武器や防具を装備して強くなることや、自作PCで新たなパーツを買うところを想像していただけれたらと思います。 <2010-07-20 火> Update: サンプルPDFがAdobe Readerで見られない不具合を解消しました。 サンプルページPDF 目次公開にあたって知識は

    新刊『Emacsテクニックバイブル 〜作業効率をカイゼンする200の技〜』目次とサンプルページ - http://rubikitch.com/に移転しました
  • Emacsからgitのブランチを扱うgit-dwim.elをリリース - http://rubikitch.com/に移転しました

    Emacsを書きました】 gitはブランチが強力です。 ブランチは単なるポインタなので、gitではブランチの積極的な利用が推奨されています。 トピックブランチ特に「トピックブランチ」は便利なブランチ利用法です。 作業前に特定の作業用のブランチを切り、無事に実装できたらmasterにマージ(リベース)し、ブランチを削除する方法です。 トピックブランチを切ることで、現在の目標を明確にすることができます。 また、緊急の修正をする場合はあわてずに一旦masterに戻って修正し、再びトピックブランチで作業することができます。 トピックブランチについては http://progit.org/book/ja/ch3-4.html が詳しいです。 トピックブランチを作成するnewtopicとういう名前のトピックブランチを作成するには、以下のコマンドを使います。 $ git checkout -b ne

    n2s
    n2s 2010/07/16
  • すぐにできる!いいことがある!Emacsからメールを送ろう - よーしパパ、バグレポ送っちゃうゾ - http://rubikitch.com/に移転しました

    設定の鬼だとか、設定が複雑すぎるとかマニアックすぎるとか言われている俺だが、今日はぐーんとレベルを落として、誰でもできるEmacs記事を書くことにする。Emacsを普及させるためにはユーザ目線になることが大切だからだ。 さて、今回はEmacsからメールを送る方法を教えよう。「そんなのやってるよ」、「当たり前だろ」という声が聞こえてそうだが、ブラウザバックはちょっと待ってくれ。意外に知られてないメリットがあるんだから。 Emacsには、裸の状態(emacs -Q)でもメールを送ることができる。ふつうにメールを送信するだけならば、Mew等のメールEmacs Lispをインストールする必要はない。標準状態でその機能があるからだ。 では、その設定を示そう。メールアドレス、名前、SMTPサーバ、メール送信関数をそれぞれ設定している。上3行は各自設定してね。 (setq user-mail-addre

    n2s
    n2s 2010/05/02
  • Rubyを使ってはてブ数をEmacsで表示する?凄いね。帰っていいよ。 - http://rubikitch.com/に移転しました

    この記事は、はてブ数をAPIで得る方法も書いてるので、Emacs使いじゃなくても役立つかもしれない? やっぱりブログをやっていると、評価は気になるものである。はてなならばはてなブックマーク数だ。 かといってちまちまブラウザではてブ数を確認しにいくのはだるいし時間の無駄である。数秒であったとしても、塵も積もれば山となるっていうじゃない。 はてブ数が気になる、かといっていちいち確認するのは面倒。この問題に対して、Emacs使いならば「モードラインにはてブ数を表示する」という解決策を選ぶもの。これを実現する display-hatebu.el を速攻で作ってみた。 M-x install-elisp-from-emacswiki display-hatebu.el でインストールしてくれ。さらにRubyとjsonライブラリが必要だ。Rubyインタプリタを入れた後で gem install jso

  • そろそろEmacsのウィンドウについて一言いっとくか - http://rubikitch.com/に移転しました

    Emacsはひとつの窓(ふつうの意味の「ウィンドウ」、Emacs用語の「フレーム」)の中に複数の表示領域(Emacs用語の「ウィンドウ」)を持つことができる。そして、ヘルプ等を表示させる場合はEmacsが勝手に画面を分割して別のウィンドウに表示させる。まぁ、Emacsを使ってるならみんな経験してることだ。 ワイドディスプレイが台頭する中、フレームの横幅はどんどん長くなっている。Emacs22までだと強制的に上下分割されてとても使いづらかった。Emacs23になったら横幅にあわせて、上下分割か左右分割か判断してくれるようになった。横幅が広いと左右分割してくれる。表示行数が減らないのでこれは嬉しい。画面の有効活用だ。 Emacs22で左右分割させたいならば、M-x install-elisp-from-emacswiki display-buffer-for-wide-screen.elしてく

    そろそろEmacsのウィンドウについて一言いっとくか - http://rubikitch.com/に移転しました
    n2s
    n2s 2010/02/10
  • Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました

    基礎文法最速マスターブームにのっかってみる。Ruby基礎文法最速マスターをだいたいEmacs Lisp(elisp)に置き換えてみる。 Emacs LispはEmacsで使われているLisp方言のひとつだ。他の言語をある程度知っている人はこれを読めばEmacs Lispの基礎をマスターしてEmacs Lispを書くことができるようになるかもしれない。無保証ではあるが。 ある程度はCommon Lispにも応用できると思うよ。 更新情報 [2010/02/03] 注釈の誤りを修正。 let*について加筆。 基礎 対話的にEmacs Lisp式を評価する Emacsを起動したときに生成されている、スクラッチバッファ(*scratch*)を使うと、Emacs Lispの式を簡単に評価することができる。M-Tabで補完できるぞ。 式を書いたらC-jを押すと、式の値が出てくるぞ。 (+ 1 3) 4

    Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました
    n2s
    n2s 2010/02/04
    記事末尾にある他の言語のまとめも要チェック。
  • 餅は餅屋 - http://rubikitch.com/に移転しました

    editorinjection - 接続法第三式 w3m を使っていると, textarea などに対して sensible-editor として nano が呼び出される. nano 自体はあまり好みではないのだけど,この仕組みは非常に優れていると思う. そう。俺はgnuclientを指定しているが、w3mEmacsの力が加わったような感覚でいい感じに融合しているように感じる。 Emacsの「すべて」の機能がtextarea編集に使えるのはとてつもなく強力だ。 w3mを愛用してはや10年。これから10年後、ハードディスクが100TB、メモリが64GBになっても俺はw3mを使っているはずだ。長年使っていて手になじんでいるのだ。 最終的に何らかの文字情報を入力することが目的であれば,それは JavaScript で場当たり的に機能を補完したりとかいった方法ではなく,ユーザが使い慣れているテ

    餅は餅屋 - http://rubikitch.com/に移転しました
    n2s
    n2s 2009/10/19
  • Emacs23へ移行した - http://rubikitch.com/に移転しました

    Emacs23が7月末にリリースされたのだが、しばらく様子見をしていていた。 俺は新しいもの好きではあるけど、EmacsヘビーユーザとしてEmacs Lispパッケージの互換性問題があるからすぐに移行するのはためらっていた。Emacs Lispの非互換な仕様変更のせいで既存Emacs Lispが動かないという事態が発生するし、実際いくつか動かないパッケージがあった。 このエントリはEmacs22→Emacs23の移行において気付いたことを要約してある。エントリができた時点でリンクにする。 まず、一番びっくりしたのが、ぱうフォントだとバックスラッシュとチルダが表示されないことだった!表示上スペースに化けてしまう。これは真っ先に解決しておかないと使いものにならない。→Emacs23でバックスラッシュとチルダが表示できない問題を回避した - http://rubikitch.com/に移転しまし

    Emacs23へ移行した - http://rubikitch.com/に移転しました
    n2s
    n2s 2009/09/02
    multi-ttyすげえ!こういうの待ってた。
  • GNU Screenは古いの? - http://rubikitch.com/に移転しました

    時代はGNU screenからtmuxへ - Dマイナー志向 「GNU screenはもう古いので皆さんtmuxへ移行しましょう」という強烈な煽り文句が書いてあるので気になる。 とはいえ、マルチバイト文字が化けたり消えたりするんだったら、日人としては使えないんじゃないか? 俺は tscreen というGNU Screenのfork版を使っている。オリジナルにはない機能があったり、バグが修正されていたり。 GNU ScreenにはGNU/Linuxを使い始めた直後ということは13年以上もお世話になっているので、おいそれと乗り換えるわけにはいかない。GNU Screenに依存したスクリプトけっこうあるし。とくに不満があるわけでもないし。 追記 GNU Screenでも縦分割はできる。しかし、evalコマンドに致命的なバグがあったため、最新版GNU Screenではなくて、tscreenに移行

    GNU Screenは古いの? - http://rubikitch.com/に移転しました
  • 『Ruby逆引きハンドブック』amazonで在庫あり - http://rubikitch.com/に移転しました

    Ruby逆引きハンドブック 作者: るびきち出版社/メーカー: シーアンドアール研究所発売日: 2009/05/25メディア: 単行購入: 24人 クリック: 263回この商品を含むブログ (72件) を見る 『Ruby逆引きハンドブック』出版 - http://rubikitch.com/に移転しました http://www.amazon.co.jp/gp/product/4863540221 [2009/06/04 20:19]現在、amazonで「在庫あり」です。ご注文はお早めに。 [2009/06/05]追記 夜中に完売しました。増刷分が10日に出来上がるとのことなので、amazonにはおそらく中旬に入荷するでしょう。

    『Ruby逆引きハンドブック』amazonで在庫あり - http://rubikitch.com/に移転しました
    n2s
    n2s 2009/06/05
    一方自分は7andYで購入した…今見たらこっちも品切れになっていた。
  • パソコン作業効率を良くする 6 つの方法 - http://rubikitch.com/に移転しました

    日々パソコンで作業をしていると、いろいろと不満が出てくると思う。遅い、見辛い…などなど。これを改善する方法をここで挙げる。 ここでは OS を問わない一般論だ。ライフハックみたいな感じで。 キーボード←→マウスの行き来を減らす パソコンのインターフェースは 15 年以上も前から GUIGUI だと言われているが、やはり入力デバイスの基はキーボードだ。キーボードには習熟していなければならない。ここを読んでいるみんなは、キーボードを見ずに文字入力すること(ブラインドタッチ・タッチタイピング)くらいはできるだろう。ブラインドタッチは常識なので今更言うまでもない。 ブラインドタッチができるようになったら、それなりの速度で打てるようになるため、今度はキーボード←→マウスの移動コストが馬鹿にならなくなる。なぜなら、キーボード→マウス→キーボードを切り換える間にやることは、 マウスに手を伸ばす

    パソコン作業効率を良くする 6 つの方法 - http://rubikitch.com/に移転しました
  • Ruby 1.9 だと String#sub 等にハッシュを渡せる - http://rubikitch.com/に移転しました

    String#sub などの置換メソッドを何度も渡すと効率が問題になってくる。かといってブロックを渡すと ブロック呼び出しコストが高い(特に 1.8 )ため遅くなることがある。そこで、置換パターンをハッシュで渡せるようになった。これなら効率も上がる。 TABLE = { 'a' => 'A', 'b' => 'B' } # 複数回の置換 "hagbx".gsub (/a/, 'A').gsub (/b/, 'B') # => "hAgBx" # ブロック置換 "hagbx".gsub (/[ab]/){|c| TABLE[c] } # => "hAgBx" # ハッシュ置換( Ruby 1.9 ) "hagbx".gsub (/[ab]/, TABLE) # => "hAgBx" で、ベンチマーク。 Ruby 1.9 の String#inspect で JSON 形式への変換を高速化 -

    Ruby 1.9 だと String#sub 等にハッシュを渡せる - http://rubikitch.com/に移転しました
    n2s
    n2s 2009/02/27
    これは面白い。 / 「かといってブロックを渡すと ブロック呼び出しコストが高い(特に 1.8 )ため遅くなることがある」でもブロック使わないと面倒なことになるケースもあるしなー…
  • Ruby 1.8.7が1.9.1、Ruby 1.9.1が2.0.1でいいんじゃね? - http://rubikitch.com/に移転しました

    Route 477(2009-02-12) ・ Nutterさん曰く: □ やっぱ1.9は「2.0」にすべきだったんじゃね?そしたら1.8.7を「1.9」に、1.8.8を「 1.10」にできるよ。 俺も1.8.7は1.9.1すべきだと思ったよ。1.8.6→1.8.7で劇的に変わった感じ。1.8系は1.8.5あたりからpatchlevelが登場してごちゃごちゃしてきた印象。teenyが10未満という制限のための苦肉の策なんだけど…。 1.8.7→1.8.8は1.8.6→1.8.7ほど変わらない予感がするから1.9.2あたりが理想だろうか。「1.10」はそのままバージョン文字列比較できなくなるからまずい。 そうなると現在の1.9.1は2.0.1、まだ見ぬ2.0は3.0とか4.0でいいんじゃないか。なぜ2.0にこだわるのか俺にもよくわからない。 つーかpatchlevelとか出すくらいだったら最

    Ruby 1.8.7が1.9.1、Ruby 1.9.1が2.0.1でいいんじゃね? - http://rubikitch.com/に移転しました
    n2s
    n2s 2009/02/13
  • ぎゃー、なにこれ!? - http://rubikitch.com/に移転しました

    = = = = S y m b o l が String の よ う に S y m b o l が String の よ う に な る .正規表現 や u p c a s e / s w a p c a s e , そ の s i z e を 得 る こ と が で き る . こ の 目 的 が 何 な の か わ か ら な い . 完 全 に String の よ う に な る の で な け れ ば , こ れ 以 上 S y m b o l を String の よ う に し た く な い . 1文字ずつリンクついてるよ!どうなってんだよ!?しかも昨日の記事まで影響してるし>< 新着ブログ - はてなダイアリーの上位エントリみてると他の人もそうみたいだ。 俺が気付いたのはw3mユーザだからかもしれない。Firefoxで見ると問題ないように見えるので。最新の日記のHTML

    ぎゃー、なにこれ!? - http://rubikitch.com/に移転しました
    n2s
    n2s 2009/01/26
    「俺が気付いたのはw3mユーザだからかもしれない」確かにw3m以外だと気付かない / なんか起きたり起きてなかったりしてる。うーん / 直ったー→http://i.hatena.ne.jp/idea/23100
  • RubyでWebにアクセスするhttpclientがアップデート、Ruby 1.9対応 - http://rubikitch.com/に移転しました

    Rubyでwebにアクセスするならhttpclientが手軽 - http://rubikitch.com/に移転しました httpclientは大好きなライブラリなので、Ruby 1.9対応は素直に嬉しい。しかもファイルアップロードのコードもすっきり記述できるようになった。 nahi++

    RubyでWebにアクセスするhttpclientがアップデート、Ruby 1.9対応 - http://rubikitch.com/に移転しました
    n2s
    n2s 2009/01/06
  • 新しいことをやってみようか - http://rubikitch.com/に移転しました

    仕事が一段落した今はこれから新しいことを始めてみるチャンスだと思う。年末もあるし、けっこうまとまった時間がとれる。 2ヶ月ほど放置ぎみだったanything関連の開発を再開。放置とはいえ俺が欲しい機能はほぼ実装したので今までが放電期間というか。あとはバグをひとつひとつ潰していこう。 gitについてもちょっとずつ勉強していこうか。anything-config.elがgitで開発されてるからforkしてパッチ取り込んでもらおうか、とか。 GNU Screenもgitベースになっとる。これまた放置してる私家版の開発も最新版を追い掛けつつ再開できそうだ。 gitホスティングサイトはgithub以外にもいろいろあるんだな。→GitHosting - Git SCM Wiki githubRuby関係、git.or.czはEmacs関係のリポジトリが多いようだ。住み分けたほうがいいかな。

    新しいことをやってみようか - http://rubikitch.com/に移転しました
    n2s
    n2s 2008/12/25
    「GNU Screenもgitベースになっとる」「gitホスティングサイトはgithub以外にもいろいろあるんだな」