mabulog

このブログは、mabuの平凡な日常を淡々と描く物です。 過度な期待はしないでください。 あと、部屋は明るくして、 モニターから3メートルは離れて見やがってください。

Vim pluginのQuickRunでPHPUnitを実行する

VimPHPUnitを実行する方法は『VimからPHPUnitを実行する環境を整える』を参考にしました。

設定

Vim setting for PHPUnit

設計思想

phpunit.xmlを使用しない設計としました。phpunit.xmlはプロジェクト全体で使っているため、
個人用にカスタマイズするのは現実的ではありません。
そこで、"--no-configuration"を使用します。これはphpunit.xmlを読み込めるディレクトリにいたとしてもphpunit.xmlを読み込みません。 読み込まない事によるエラーは個別で対処します。
Laravelでは"--bootstrap '〜'"を設定する必要がありました。
ココらへんのオプションなどは"phpunit --help"とプロジェクトにあるphpunit.xmlを見比べれば察する事が出来ます。 あとは実行結果をsyntax highlightで良さ気にすれば完成です。

今回は通常のPHPファイルを開いている場合には全てのテストを実行し、PHPTestファイルを開いている場合は個別に実行するという、自然な感じにしたつもりです。
問題点、改善点などありましたら、コメント頂けると助かります。

Vim でSQLの整形

VimSQLを整形する方法を探していた所、Perlを利用するのが良さ気だったため、
試しに導入してみました。
最新版はSQL-Beautify-x.xxをご確認下さい。

SQL-Beautify設定

Perlを使った事が無いため、スマートでないかもしれません。

$ mkdir -p $HOME/.vim/SQL-Beautify
$ cd /tmp
$ wget http://search.cpan.org/CPAN/authors/id/J/JK/JKRAMER/SQL-Beautify-0.04.tar.gz
$ tar -zxvf SQL-Beautify-*.tar.gz
$ rm -f SQL-Beautify-*.tar.gz
$ mv SQL-Beautify-*/* $HOME/.vim/SQL-Beautify
$ cd $HOME/.vim/SQL-Beautify
$ perl Build installdeps
$ perl Build.PL
$ perl Build

Perl スクリプト と .vimrc設定

Perlスクリプトのパスを.vimrcに設定しています。

SQL pretty print

感想

Alignを使用している場合にはSQLUtilitiesで簡単に整形できます。ただ、私は使いやすさからvim-easy-alignを使用しています。Alignvim-easy-align共存させようとしましたが競合しているのかうまくいきませんでした。そこで今回の設定がいい感じに機能するわけです。
Perl初見さんなため、エライ疲れますた。。。

(追記 2014/09/15 12:05)
vim-easy-alignの設定不足が原因でAlignが悪さをしていている様に見えていた事が発覚しました(検証大事、絶対)
なので、普通にSQLUtilitiesを使った方がスマートかと思われます。

参考

.vimrcのミニマイズについての考察

先日、LingrVimが遅いという話になり、
KoRoNさんのVimの起動が遅い場合の原因と対策ページが紹介されたのをROMってました。
私の.vimrcは自分なりにチューニングを行って早くしているつもりではありますが、
可読性を意識して設定しているため、遅くなる設定になっていました。
ただ、遅くなるのは望んだ結果ではないため、JavaScript/CSSでよく見るミニマイズを行うとどうなるのか興味がわいたので調べました。

検証方法は以前ネットサーフィンをしている際に見つけた id:thincaさんのvimrc のどこが重いのかを調べるもう1つの方法のページに記載れている方法で試したいと思います。

まずはプログラムを組まずに手頃に出来る"set"処理部分のみをミニマイズしました(手動力)
その結果を見る限りでも起動を短縮出来ている事が伺えます。
まだ、誰もやっていないか調べて、やって無さそうだったら(なぜやらないのか)も含めて調べて
コード書いてみようかなと思います。

サンプルコード

.vimrc profiling. 100 startup total average time.

検証結果

.vimrc_normal

MBA $ sh vimrcStartTimeChecker.sh
.000596
MBA $ sh vimrcStartTimeChecker.sh
.000597
MBA $ sh vimrcStartTimeChecker.sh
.000598

.vimrc_min

MBA $ sh vimrcStartTimeChecker.sh
.000535
MBA $ sh vimrcStartTimeChecker.sh
.000507
MBA $ sh vimrcStartTimeChecker.sh
.000484

感想

50行程度のset処理でゴクゴク僅かではありますが、処理時間に差異が出ました。
予想どうり雀の涙程度でしたが...。
もう少し処理する行数を増やせばいい感じに効果が期待できるかもです。

momonga.vim #6 で mkmkしてきた

初めてのVim系勉強会で緊張している中、会場であるドワンゴさんを訪問しました。
ドワンゴさんの会場は綺麗でとっても広くて羨ましく感じました。(かなり)

今日は以前作成したvim-qfsignsにジャンプ機能を追加がメインな感じでした。
以前、signはジャンプ出来るから良いと言いながら、ジャンプ機能を提供していなかった事に最近気づいたので、さくっと機能を追加しました。
あとは、vim-refのソースを読んだり、
XMLSQLの整形方法についてネットで調べて.vimrcに設定追加を行いました。

追加機能 release note

  • vim-qfsignsにジャンプ機能追加

    vim-qfsignsで設定されるsignを対象にジャンプ機能を提供するcommandを追加しました。

  • vim-qfsignsに(画面分割)オートジャンプ機能追加

    Syntaxエラー時に該当行にオートジャンプする機能を実装しました。
    および画面を横分割してオートジャンプする機能を実装しました。
    どちらもデフォルトオフとしてます。

感想 Impressions

Vimmer こわい』はウソでした(要出典)。
初めてのmkmk会で緊張しつつ、楽しくコーディングできました。
会社や家とはまた違ったコーディングが楽しめて良かったです。
vim-refは頑張れば、参照するマニュアルを制御出来そうでしたが、設定が難しそうだったので、
今はまだその時ではないと結論づけました。(まる)

vim-precious がいい感じ

背景 Background

PHPのテンプレートファイルを修正する際に、インデントがうまくいかない問題に悩まされていました。当初は下記記事を参考にインデントを行っていましたが、vim-preciousを活用することでsyntax等々含めて問題解決するのではと思い、設定してみました。

設定 Setting

vim-precious setting

感想 Impressions

常々問題なく動いてて、これで私もテンプレートファイルをイジイジできそうです。
HTMLの正規表現がまだ若干ツメきれていないのが心残りですね。基本的には問題なく動く事は確認しましたが、HTMLタグの始まり"<"でinsertモードに変更してもfiletypeがhtmlに変更されません。こちらはおいおい、正規表現を調整したいと思います。

Laravelに触れてみる

背景 Background

herokuPHPサポートしたという事なので、Laravelをインストールしてみたいと思い、まずはLaravelMac上で動かしてみたいと思います。

目標 Goal

環境 Environment

Mac

手順 Operation

  • Composerのインストール @ Mac OS X

    PHPの外部ライブラリ管理アプリです。PEARGitHubなど分散していライブリ群をComposerの設定ファイルに記載する事で、簡単に利用できます。

$ brew search composer
$ brew info composer
 
$ brew install composer
$ brew search Mcrypt
libtomcrypt   mcrypt        php53-mcrypt  php54-mcrypt  php55-mcrypt  php56-mcrypt
$ php --version
PHP 5.5.12 (cli) (built: May  3 2014 00:13:45)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
$ brew info php55-mcrypt
$ brew info mcrypt
$ brew info mhash
 
$ brew install php55-mcrypt
$ composer create-project laravel/laravel {ProjectName} --prefer-dist
  • 動作確認

    Apache等の設定を変更して動作確認を行います。

参考サイト Reference

続・MacVim インストール

背景 Background

以前「Installed Vim7.4 for Mac」にてMacVimをインストールしましたが、その際に各言語サポートが"dyn(amic)"で設定されました。特に問題無いだろうと思っていましたが、厳密には言語サポートが機能していませんでした。
具体的にはPerlの読み込みパスが"OS X Lion"と"OS X Mountain Lion"で異なります。"OS X Mountain Lion"では"OS X Lion"でサポートしていたバージョンが未インストールです。
MacVimの"+perl/dyn"は"OS X Lion"の古いバージョンを読み込むため、エラーとなります。
そこで、splhackさんのソースをforkして、supermomongaさんのソースを参考にmabu版も作成してみました。

Vim の 言語サポート状況確認

" Perl
:perl VIM::Msg("Hello")

" Python
:python print(sys.version)

" Python3
:python3 print(sys.version)

" Ruby
:ruby print "Hello"

" Lua
:lua print("Hello")

課題点

PythonとPython3の両立が出来ませんでした。両立しようとすると"dyn(amic)"が強制されるようです。
homebrewでインストールしているため、MacVimの読み込みパス上にPython(3)がないため、エラーとなるような動きをしていました。
とりあえず、Pythonを優先して、Python3は非サポートという形で対処しました。