2015年3月12日木曜日

Windows 7(64bit) + MinGW(64bit) + msys

とある開発でruby gemを使おうと思っていたところ、どうにもこうにもMinGWでのBuildが必要になったので導入した話。
Rubyでgemとか使うならとりあえず入れておいて損はないはず。
シェルアプリのminttyについても記載していますが、実際のbuildには関係ないです。

MingGW(64bit) インストール

  1.  x86_64-4.9.2-release-posix-seh-rt_v3-rev0.7z をDL
  2. C:\MinGW64\ 配下に展開
  3. Windowsの環境設定へ C:\MinGW64\bin を追加

msys インストール

  1. mingw-get-setup.exe をDL
  2. C:/MinGW64 をインストール先としてインストール
  3. コマンドプロンプトで
    C:\MinGW64\bin\mingw-get install msys-base msys-mintty
    でインストール

Unix的なシェル mintty の使用設定

  1. ショートカットを新規で作成
  2. ショートカットのパスはひとまず
    C:\MinGW64\msys\1.0\bin\mintty.exe -
  3. ランチャーに登録するなりピン止めするなり。

mintty 対話対応

minttyはアプリケーションの対話型に対応していないため、winptyなるアプリケーションを導入。対話型に対応できるようになります。
  1.  https://github.com/rprichard/winpty/downloads/ から winpty-0.1.1-msys.zip をダウンロード
  2. C:\mingw64\msys\1.0\bin\配下にzip内のファイルを全部入れる
  3. minttyの起動用ショートカットの引数を下記に
    /usr/bin/console /usr/bin/bash --login -i
※minttyで設定している /usr/bin/ というパスは、C:\mingw64\msys\1.0\bin\ のことを指してる。 

2015年2月28日土曜日

カラーテーマの base16 eightiesのRGB値

最近乗り換えた sublime textの theme の base16。

※参考リンク
Base16
Base16 Color Schemes - Packages - Package Control

以前から愛用していたZenburnと同じような低コントラストのeighties(dark)を使用。
こちらの方がちょっとくっきり見える(気がする)。


RGB値が必要だったけど、ちょっと探しても見当たらなかったのでメモがてらに。

Windowsで愛用のターミナルアプリRLoginのカラーテーブルとして貼っておきます。

Screen.ColorTable=[[45,45,45],[57,57,57],[81,81,81],[116,115,105],[160,159,147],[211,208,200],[232,230,223],[242,240,236],[242,119,122],[249,145,87],[255,204,102],[153,204,153],[102,204,204],[102,153,204],[204,153,204],[210,123,83]];

2015年1月25日日曜日

情報収集はRSSリーダーが最高な気がしてる。

キュレーションサービスはGunosyとかいろいろやってみたけど、やはり自分にはRSSが一番な気がする。
以下RSSを使っているシンプルな4つの理由。

  1. 興味のあるジャンルだけを引っ張ってくる
    当然ながらRSSは、自分が欲しい情報だけを登録しているのであまり無駄な情報が無い。
  2. スマホアプリがこなれていてだいたい高速動作
    自分が使っているAndroidアプリのgReader (Play Store: gReader) が最高という理由でもあるかもしれない。以下が使用している理由。
    • 画像をDLしない
    • wi-fiの時だけキャッシュ用データをDLする
    • 本文のみをシンプルに表示する(表とかも消えてたりするけど)
  3.  Feedに登録するのが面倒
    "手軽"ってことは、不要なものさえ不要と思わなくなってしまう。

    その点、RSSリーダーはFeedを登録する手間がある。
    本当に必要なサイトだけを定点観測する気にならないと登録しない。
    ちなみにRSSを管理しているのはFeedly。

    /** 金持ちと言われている人たちが真の金持ちになれないのは、カードなんかで容易に不要なものを大量に買ってしまうからだ */
  4. MVNO回線に優しい
    2.の gReader の
    • 画像をDLしない
    • wi-fiの時だけキャッシュ用データをDLする
    この点が本当にありがたい。
    とはいえ、IIJmioの最低2GB~になってくれたおかげで、多少画像があっても問題ないけど。

流行のキュレーションサービスもいいけど、見たい情報だけを見られる旧き良きRSSもたまには思い出してあげてください…。

2013年12月16日月曜日

Sublime Text 3 対応プラグイン MoveMultiByteWord

Sublime Text 3向けのマルチバイト文字列に対応した単語移動をサポートするパッケージ MoveMultiByteWord を絶賛公開中!
あなたの Sublime Text 3 の環境がちょっとだけ日本語に優しくなります。
https://bitbucket.org/dat/movemultibyteword

2013年12月7日土曜日

Sublime Text 3 のCtagsプラグイン改造

Sublime Text 3で搭載された関数ジャンプ(GoTo Definition)のクイックパネルはファイルパスで絞り込みが出来て便利。
そんなわけでCTagsプラグインのクイックパネルもファイルパスで絞り込みできるように改造した。
このオプションは探したけど無かった…無いよね?

CTagsのプラグインはコチラ: https://github.com/SublimeText/CTags

--- 改造前ctagsplugin.py Sat Dec 07 01:13:05 2013
+++ 改造後ctagsplugin.py Thu Dec 05 12:41:29 2013
@@ -371,7 +371,7 @@
 """Formatting helper functions"""
 
 
-def format_tag_for_quickopen(tag, show_path=True):
+def format_tag_for_quickopen(tag, show_path=False):
     """Format a tag for use in quickopen panel.
 
     :param tag: tag to display in quickopen
@@ -389,9 +389,9 @@
             f += string.Template(
                 '    %($field)s$punct%(symbol)s').substitute(locals())
 
-    format = [(f or tag.symbol) % tag, tag.ex_command]
-    format[1] = format[1].strip()
-
+    # format = [(f or tag.symbol) % tag, tag.ex_command]
+    # format[1] = format[1].strip()
+    format = tag.filename
     if show_path:
         format.insert(1, tag.filename)


こんな感じに該当箇所を書き換えると変更できます。
コメントアウトは念のため残しているだけなので消しちゃってもいいと思います。 この改造はたぶんST2でも使えるんじゃないかな。

2013年8月11日日曜日

phpのvar_dumpでデバッグを分かりやすくするテンプレート

var_dump('ExecFile: '.basename(__FILE__).'('.__LINE__.')', 'FUNCTION: '.__FUNCTION__, 変数名);

var_dumpはカンマ区切りで引数を無制限に渡すことが出来る。 これを使い、どのファイルの何行目のどの関数で呼び出されたdumpかを表示しておける。

ソースを追いかけているとどこでdumpしたのか忘れがちになるけど、こうしておけばいつでも削除箇所が分かって手間が少ない。

2013年8月3日土曜日

Sublime Text のプラグインのコマンドに好きなキーを割り当てる

掲題通りで、キーを割り当ててみる。
参考として今回は諸事情で割り当てを行ったSortTabsのGithubを見てみよう。

SortTabs/sort_tabs.py at master · bizoo/SortTabs · GitHub


Sublime textのPluginは
class SortTabsByNameCommand
のようにCommandが付くClass名に対してショートカットキーを設定することが出来る。
SortTabsByNameCommandは名前の通り、タブの名前でソートするコマンド。
ではこのコマンドにキーを割り当ててみる。
{ "keys": ["ctrl+alt+s"], "command": "sort_tabs_by_name" }
と、こうなる。
他のキーマップに倣って好きなkeysを設定する。
さらにcommandを見てもらうとClass名と違うことが分かる。
SortTabsByNameCommand
sort_tabs_by_name
よく見比べてもらえれば容易なことで、Commandを削除し、最初の文字以外の大文字の前にアンダースコアを入れ、文字は全部小文字にするだけ。

これでキーを押してみるとタブがいつでも名前順にソートできる。

/** 今更感のあるエントリーだなぁ。 */