Railsのdevelopment.logのサイズが大きすぎる
log/develpment.logのファイルサイズが1.6GとなってRailsアプリがストップしてしまったので、ログファイルの削除コマンドを調べてみた。
rake log:clear
rbenvをインストールしてみた
rbenvが流行っているらしいのでインストールしてみた。
参考にしたのは以下のページ
ここで、rbenvの設定をしてrbenv installを実行したらインストールができなかった。
$ rbenv install 1.9.2-p290 rbenv: no such command `install'
.zshrcの設定が間違っているのかと思って調べてみると、以下のページを発見。
ruby-buildが何か分からなくてとりあえずインストールしていなかったのだが、
どうやらrbenvのinstallコマンドはruby-buildを入れて初めてできるようになるらしい。
そこで、ruby-buildをインストールしたら無事rbenvがインストールできました。
ちなみにruby-buildのinstall.shはsudoじゃないとできませんでした。
$ git clone git://github.com/sstephenson/ruby-build.git $ cd ruby-build $ sudo ./install.sh $ rbenv install 1.9.2-p290 Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz... Installing yaml-0.1.4... Installed yaml-0.1.4 to /home/kano/.rbenv/versions/1.9.2-p290 Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz... Installing ruby-1.9.2-p290... Installed ruby-1.9.2-p290 to /home/kano/.rbenv/versions/1.9.2-p290 Downloading http://production.cf.rubygems.org/rubygems/rubygems-1.8.10.tgz... Installing rubygems-1.8.10... Installed rubygems-1.8.10 to /home/kano/.rbenv/versions/1.9.2-p290
*よく見たらrvmからrbenvに移行したの追記にもrbenv installについて書いてありました。
Bundler1.1が速いらしいので試してみた.
Vundleでg:vundle_logエラーが発生
VundleInstallとかVundleCleanを実行したら以下のようなエラーが発生した。
function vundle#installer#install..<SNR>200_sync..<SNR>200_log の処理中にエラーが検出されました: 行 1: E121: 未定義の変数です: g:vundle_log E116: 関数の無効な引数です: add
ググッてみたら同じ症状が書いてある記事を発見。
でも残念ながらこちらの記事では解決策が書かれていなかった。
そこで本家を調べてみた。
どうやら古いautoloadの中身か何かが悪さしてるらしい。
そのため一度vundleを消して再インストールしたらエラーが解消されました。
VimにJava補完のjavacompleteをインストール
javacompleteのインストール
VimでJavaを書いてみようと思い、Java補完のjavacompleteをインストールしてみた。
基本的にはvundleでOK.
Bundle 'vim-scripts/javacomplete'
あとは以下の設定を.vimrcに書きこめばいい。
autocmd FileType java :setlocal omnifunc=javacomplete#Complete autocmd FileType java :setlocal completefunc=javacomplete#CompleteParamsInfo
これで無事補完をすることができた。
ただ、過去のvim-users.jp - Lingrにもあるように、
補完をするためのファイルReflection.classがホームディレクトリに生成されてしまって鬱陶しい。
Reflection.classについて
javacompleteのソースを眺めてみたところ、autoload/にReflection.classがない場合には、
ホームディレクトリにReflection.classを生成するとかいうよく分からない仕様になっていた。
なので、~/.vim/bundle/javacomplete/autoload/Reflection.javaをコンパイルしてみた。
% cd ~/.vim/bundle/javacomplete/autoload % javac Reflection.java 注:Reflection.java の操作は、未チェックまたは安全ではありません。 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
そしたらコンパイルはできたけど、よく分からない警告も出ててきた。
quickrun.vimで実行したRSpecの結果に色をつける
quickrunを使ってrspecを実行すると、出力結果に色がつかず見づらい。
色をつけるために「-c」オプションを追加してみたけれど、色はつきませんでした。
そこで色々調べていたら、以下の記事を発見。
この記事で扱っているのはPHPUnitの設定ですが、
「PHPUnitでできるならRSpecでもできるだろ!!」
と思い試してみました。
quickrunで実行したRSpecに色をつける方法
以下の設定を.vimrcに追加。
let g:quickrun_config = {} augroup QrunRSpec autocmd! autocmd BufWinEnter,BufNewFile *_spec.rb set filetype=ruby.rspec augroup END let rspec_outputter = quickrun#outputter#buffer#new() function! rspec_outputter.init(session) call call(quickrun#outputter#buffer#new().init, [a:session], self) endfunction function! rspec_outputter.finish(session) highlight default RSpecGreen ctermfg = Green cterm = none highlight default RSpecRed ctermfg = Red cterm = none highlight default RSpecComment ctermfg = Cyan cterm = none highlight default RSpecNormal ctermfg = White cterm = none call matchadd("RSpecGreen", "^[\.F]*\.[\.F]*$") call matchadd("RSpecGreen", "^.*, 0 failures$") call matchadd("RSpecRed", "F") call matchadd("RSpecRed", "^.*, [1-9]* failures.*$") call matchadd("RSpecRed", "^.*, 1 failure.*$") call matchadd("RSpecRed", "^ *(.*$") call matchadd("RSpecRed", "^ *expected.*$") call matchadd("RSpecRed", "^ *got.*$") call matchadd("RSpecRed", "^ *Failure/Error:.*$") call matchadd("RSpecRed", "^.*(FAILED - [0-9]*)$") call matchadd("RSpecRed", "^rspec .*:.*$") call matchadd("RSpecComment", " # .*$") call matchadd("RSpecNormal", "^Failures:") call matchadd("RSpecNormal", "^Finished") call matchadd("RSpecNormal", "^Failed") call call(quickrun#outputter#buffer#new().finish, [a:session], self) endfunction call quickrun#register_outputter("rspec_outputter", rspec_outputter) let g:quickrun_config['ruby.rspec'] = { \ 'command': 'rspec', \ 'outputter': 'rspec_outputter', \ }