夜が静寂を取り戻す頃

日記 << 考えや感情. 外に発散する場として. たまに備忘録

雑記

Emacs 雑記

ELispなんて書きたくないのでエディタはSublimeを使っているが、CLI環境しかない場合はEmacsを使うし、キーバインドは使い慣れたEmacs風のものを使用している。dotfiles をGithubで管理する奴を始めたので、その流れで軽くEmacsの設定を見直した。
やったことは簡単で、

  • init.el にすべての設定をまとめてしまう。<== init-loaderつかって複数の設定ファイルにするやつとかあるけど、「;;;;」とかあらかじめ決めて置いたセパレータで大枠を区切っておけば、ファイル分割するのとやってること / できることは変わらない。init-loaderを使わなくて言い分、余計なことをしないでいる方が有利.
  • プラグインを最低限に減らす。管理は el-getで <== どうせ大して使わないんだから、プラグインは最低限。ミニマムにして、情報に溺れないようにする。 「anzu」と「zuto-complete」(と「flycheck」)のみ。プラグイン管理は package.el と el-get で悩んだが、なぜか el-get を自動でインストールするところまで書いてしまったので、そのままにしておく
flycheckについて

flycheckはEmacsでsyntaxをチェックしてエラーを表示してくれるやつ。

include other.rb して、other.rb に書いておいたメソッドを使うとき、flycheck にかけると undefined method だと怒られる。これは、 flycheck が、すべてのプロジェクトを再帰的に読み込まずに、 今の buffer のみに大してシンタックスチェックをかけているからこうなる。もしかしたらこれを回避する方法はあるのかもしれないけれど、めんどうなのでやらない(できたらかなりうれしいけど、私のGoogle力では一定時間内に答えを見つけることはできなかった。残念。)
EmacsIDEとして使うのは筋が悪い気がしているので、このままでよい。
巨大なプロジェクトはIDEでやればよいし、小さすぎるスクリプトは構文チェックなくてもほとんど変わらないし、意図せず数百行に膨れ上がった単一ファイルのスクリプトくらいでしか役に立たない気がする。C/C++をばしばし書く人ならならまた違う気がするけど。

ipfs

最近 ipfs と言うのを知った。p2pベースのインターネットらしい。すごい

syncthing もその流れで知った。 オープンソース,wind/mac/linuxに対応した。P2Pベースのファイル共有システムらしい。ただ、いつもの作業する場所で P2P 通信が禁止されている(!) のであんまり恩恵に預かれない。残念。
p2pなのにファイルを共有できるって、片方の電源が切れててもできるようにみえるんだけど、どうやってるんだろうか。余裕があったら詳しく調べてみよう。 (追記20160605)--> 使って見たところ、やはり両方のsyncthingが起動してないと同期できないようだ(あたりまえ).

rbenv でちょっとはまった

invalid rspec なんちゃらでエラー。rbenv環境下で、bundlerが見てるrubyとgemがみてるrubyが違っているせいで、おかしなことが起きていたように見えた。rbenvをなあなあで使っているとこういうことが起きたときに困る。まあ本職の人じゃないしこれでよい。
systemのrubyにgemをいれすぎてしまったこと、得にbundlerを入れてしまったことが悪かった気がする(よく分かってない)

約に立ちそうなコマンド

gem uninstall bundler
gem update
rbenv global 2.*.*
rbenv exec gem update # 2.*.*での gem の実行
rbenv exec gem install bundler