Railsのプロジェクトで coffee script を使うけどもコンパイルは全て Asset pipelineがやってくれるので、たまに変換結果の js をちょっと見てみたい時に困った事になります。
なのでEmacsの smart compile の機能を使ってすぐに 出力結果を得られるようにしてみました。
解決策 coffee -pで標準出力に変換結果を出力してくれるので
(global-set-key (kbd "C-c C-x") 'smart-compile) (setq smart-compile-alist (append '(("\\.rb$" . "ruby %f")) '(("\\.php$" . "php %f")) '(("\\.coffee$" . "coffee -p %f")) '(("\Gemfile$" . "bundle install")) smart-compile-alist)) としておけばOKです。
参考 [Convert coffee to javascript and show the result to standard output in Emacs – Stack Overflow][1]
何故かMacのOSを最新の Mavericks(10.9.1)に変えたらEmacsの C-x C-f で表示されるデフォルトのパスが ルートの / に変わってしまったのでその対策。
対策法 下の対策はうまく動いてませんでした。homebrewの最新版だと対応されてるらしいので homebrew install --cocoa emacsで homebrewから入れたら解決します。
Emacsの設定に default-directory を追加したらOK
(setq default-directory “~/”) 参考 settings – emacs "Find File:" default path – Stack Overflow
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) でOK。ちなみに M-x eshell で高機能なシェルがつかえるらしくそちらでも色がついてた。
開いてるファイルをそのまま実行できるsmart-compileでGemfileを開いてたらbundle installを実行したかったのでやり方を調べてみました。
設定方法 どうやらsmart compile は自動的にコマンドの実行ディレクトリをファイルがある場所に移動してくれるようなので単純に Gemfileというファイル名とbundle installのコマンドを他のファイルと同じように紐付ければOKのようです。
(global-set-key (kbd "C-c C-x") 'smart-compile) (setq smart-compile-alist (append '(("\\.rb$" . "ruby %f")) '(("\\.php$" . "php %f")) '(("\Gemfile$" . "bundle install")) smart-compile-alist)) もちろん ruby や php を使ってなかったら該当行は必要ありません。
使い方 これで Gemfile を開いて C-c C-x するとこんな風に bundle install が実行されます。
-*- mode: compilation; default-directory: "~/dev/foo/" -*- Compilation started at Sun Dec 15 16:29:42 bundle install Using rake (10.1.0) Using i18n (0.6.9) from git://github.com/svenfuchs/i18n.git (at master) Using minitest (4.
今までVimでRailsのプロジェクトの中にあるファイルを開くのに毎回FinderのウィンドウからD&DしていてめんどくさかったのでVimの左側にファイラーが表示できたらいいな、と思って調べてみました。
検索した所 Opsplore が見つかったのでインストールしようかと思ったらインストールの仕方がわからなかったのでもののついでに多分パッケージ管理する拡張があるだろうと考えて調べてみたらやっぱりありました。
NeoBundleでパッケージ管理 どうやら昔はBundleというソフトが有名だったけど、機能不足などの問題でVundleがForkされて更に統一性などの問題点が改善されたNeoBundleが出されたようです。
はじめ動かなくて困ってTwitterでつぶやいていたら @todashuta さんが直してくれました。ありがとうございます。
Vimpusher NeoBundleなどのパッケージ管理を使っていて、その.vimrcをGitなどのオンライン上に置いている場合はソーシャルVimプラグインサービスの[Vimpusher][1]というサービスがあり、これに登録しておくとおすすめのプラグインを紹介してくれるそうです。
便利そうなプラグイン なんでもRailsを使うのに便利なプラグインがあるそうなので早速それを入れてみる。
[tpope/vim-rails · GitHub][2]
においてあるのでNeoBundleでインストールするために
~/.vimrc に
NeoBundle 'tpope/vim-rails'
と追記し、
``今までVimでRailsのプロジェクトの中にあるファイルを開くのに毎回FinderのウィンドウからD&DしていてめんどくさかったのでVimの左側にファイラーが表示できたらいいな、と思って調べてみました。
検索した所 Opsplore が見つかったのでインストールしようかと思ったらインストールの仕方がわからなかったのでもののついでに多分パッケージ管理する拡張があるだろうと考えて調べてみたらやっぱりありました。
NeoBundleでパッケージ管理 どうやら昔はBundleというソフトが有名だったけど、機能不足などの問題でVundleがForkされて更に統一性などの問題点が改善されたNeoBundleが出されたようです。
はじめ動かなくて困ってTwitterでつぶやいていたら @todashuta さんが直してくれました。ありがとうございます。
Vimpusher NeoBundleなどのパッケージ管理を使っていて、その.vimrcをGitなどのオンライン上に置いている場合はソーシャルVimプラグインサービスの[Vimpusher][1]というサービスがあり、これに登録しておくとおすすめのプラグインを紹介してくれるそうです。
便利そうなプラグイン なんでもRailsを使うのに便利なプラグインがあるそうなので早速それを入れてみる。
[tpope/vim-rails · GitHub][2]
においてあるのでNeoBundleでインストールするために
~/.vimrc に
NeoBundle 'tpope/vim-rails'
と追記し、
``
で設定の再読み込みをすると “Install bundles now?” と聞かれるので”yes”を選択すればOKです。メッセージが流れないのでフリーズしてるように感じましたが正常にインストールされてました。
たとえば post_controller.rb 上の def index の上にカーソルがあるときに gf と入力すれば index.html.erb が開かれます。
詳しい動作はまた今度確認することします。
他にも入れといたほうがよさそうなプラグイン こちらのサイトを参考に便利そうなプラグインを追加していきました。
[天井冴太的つれづれblog [天井の染み]: このVim plugin達に感謝しなければ年を越せない!私が今年使い倒した2012年のベストを全部ご紹介!][3]
” RubyやPerl風の正規表現。
NeoBundle ‘othree/eregex.
rails new hoge
とすると
`expand_path': non-absolute home
というエラーが出てしまって「Windowsだしなあ。」と諦めかけてたけど、このhomeというのは環境変数のHOMEのことらしく、確かにcygwinを使う時のためにHOMEに /cygdrive/ から始まる値を入れてたのを思い出したので環境変数 HOME を削除してみたら動いた。
ちなみに irb もHOMEに入ってる値によっては動かないらしい。
参考 `expand_path': non-absolute home
http://devnet.jetbrains.com/thread/437313
作業目的 さくらのVPSで自動ダウンロードしてるNHKの語学講座が大量になってきて容量が馬鹿にならなくなってきたので
mp3で出力されたものをm4aに変換しようとNeroAAC Encoderのインストール作業メモ。
インストール方法 まず
コマンドラインツールをここからダウンロードしてくる。
http://www.nero.com/enu/company/about-nero/nero-aac-codec.php
wgetで直接取ってくるなら
$ wget http://ftp6.nero.com/tools/NeroAACCodec-1.5.1.zip
圧縮ファイルを展開して
$ unzip ~/NeroAACCodec-1.5.1.zip -d neroaac
実行権限を付加
$ chmod +x ./neroaac/linux/neroAac*
んで、動作を確認
$ ./neroaac/linux/neroAacEnc
************************************************************* * * * Nero AAC Encoder * * Copyright 2009 Nero AG * * All Rights Reserved Worldwide * * * * Package build date: Feb 18 2010 * * Package version: 1.5.4.0 * * * * See -help for a complete list of available parameters.
cygwinでちゃんとHOMEの環境変数を設定してるのに ~/.bash_profileが読み込まれなかったのでその時の対処法。
問題点 結局問題だったのはbashを立ち上げた時に出てくるこのエラーメッセージを無視してたのが原因でした。
Your group is currently “mkpasswd”.
This indicates that your gid is not in /etc/group and your uid is not in /etc/passwd.
The /etc/passwd (and possibly /etc/group) files should be rebuilt. See the man pages for mkpasswd and mkgroup then, for example, run
mkpasswd -l [-d] > /etc/passwd
mkgroup -l [-d] > /etc/group
Note that the -d switch is necessary for domain users.
/etc/passwd を確認してみると、確かに今使ってるWindowsでのユーザ名が表示されていない。いつもcygwinのフォルダは上書きし続けて使ってるのでインストール時に既に /etc/passwd があった場合に自動更新されないみたいですね。
無料のオンライン大学Courseraについてはこちらを見てください。
【TED】 Coursera創業者による「オンライン教育が教えてくれること」 | IDEA*IDEA
http://www.ideaxidea.com/archives/2012/09/ted_coursera.html
このCourseraで"An Introduction to Interactive Programming in Python"という面白そうな授業があったので登録してみました。プログラミング経験がほとんどない人向けの講座だそうなのですが、英語のハンデもあるのでちょうどいいかと思って初めて見ました。まだ受講は受け付けていますが、10月15日からの講座なのでPythonの勉強を始めてみたい方はお早めに。
受講方法 まず[コース一覧][1]から受講したいコースを選びます。
受講したいコースがあったら"sign up"から登録します。
で名前とメールアドレス、それにパスワードを入力。
ここで入力する名前が証明書などに残るので本名を入力しましょう。
ポップアップでメッセージと"Go to class"という表示が出てくるのでクリックして次へ。
ここでHonor Code[敬意を持って守る規定]への同意を求められるのでよく読んで同意しましょう。
一つのアカウントのみ登録します。
宿題、クイズそれに試験を独力で行います。
宿題、クイズそれに試験の答えを誰にも教えません。
不誠実に成績を改鼠しません。
コースのホーム画面に飛びます。既に開始されてるコースなのでまずは溜まってるAnnouncementsから見ていきましょう。上に行くほど新しいお知らせなので一番下から読んでいきます。
どういう風に進んでいくか。 ここからは何を受講するかによっても変わってくると思うので参考程度に読んでください。
・毎週2セクションごと進む。
・週の開始は土曜日の朝。(アメリカ時間?)
・土曜日の朝に50~150行程度で作れるミニプロジェクトが割り当てられるので、それを次の土曜日の午後までに提出する。
・そして次の日曜日から水曜日の間に生徒間で相互添削を行う。
・相互添削で自分の評価をもらうためには最低5つを行わなければならない。
・毎週6~10個程度の短いレクチャーの動画を見る。
・クイズが週2回、でミニプロジェクトが1回。
・プログラミング環境は http://www.codeskulptor.org/ を使う。
レクチャーのビデオを見る 左上の[Video Lectures]からレクチャーが見れます。この講座をどのように進めていくかと、この講座でどのようなものが作れるかの説明があります。基本的な動作をするゲームが作れるので面白そう。
英語は自分にはまだちょっと難しいですが、字幕を[CC]でつけて見ることもできるし、テキストやSRTファイルでダウンロードして読むこともできます。
動画プレイヤーのVLCなら0.8倍速などのように音の高低を変化させずに再生速度を変えれますし、SRTファイルをそのまま再生中の動画にDrag & Dropするだけで字幕を表示できるのでオススメです。
他にも面白そうな講座はたくさんありますので、どんな講座があるかだけでも眺めてみると良いんじゃないでしょうか。
Course Catalog | Coursera
https://www.coursera.org/courses
Windowsの頃は秀丸→xyzzyで移行して、何をするにもxyzzyを使っていたのですが悲しいことにMacにはxyzzyがありません。
Emacsならあるので触ってみましたが、まだVimの方がとっつきやすそうだったのでVimメインのテキストエディタとして使っています。
テキスト操作が思い通りできないだけでたまるストレスは想像した以上でした。ムキーーーーーーーーーー!!!!!
Vimの設定方法 さて、Vimは標準ではステータスバーに文字コードと改行コードを表示してくれないのでホームフォルダの下に vi ~/.vimrc と設定ファイルを作り(Vimの起動時に自動的に読み込まれます。)そこに
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P
と書いて保存。Vimを再起動します。
これでステータスバーに文字コードが表示されるようになりました。
参考 GVIMのステータスラインに文字コードと改行文字の種別を表示する。