mabulog

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

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は非サポートという形で対処しました。

homebrew の Apache 自動起動設定

背景 Background

以前『 Installed Apache@MacOSX』の記事でhomebrewでApacheをインストールしましたが、
Apache自動起動せず、デフォルトの Apache が起動しました。
デフォルトの Apache自動起動を停止させ、 homebrew の Apache自動起動させた際の備忘録を残します。

手順 Operation

デフォルトの Apache 自動起動停止

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

homebrew でインストールした Apache 自動起動設定

sudo chown root:wheel /usr/local/opt/httpd/homebrew.mxcl.httpd.plist
sudo ln -s /usr/local/opt/httpd/homebrew.mxcl.httpd.plist /System/Library/LaunchDaemons/homebrew.mxcl.httpd.plist
sudo launchctl load -w /System/Library/LaunchDaemons/homebrew.mxcl.httpd.plist

この段階で Apache自動起動しない場合には plist の起動コマンド部分を書き換えます。

homebrew.mxcl.httpd.plist 設定例

参考サイト Reference

vim-qfstatusline を作ってみた

背景 Background

前回『vim-qfsigns を作った』でSyntaxエラー箇所にsignでマーキングさせました。
今回はステータスバーにSyntaxエラー状況を表示させます。
私はid:itchynyさん作のlightline.vimを使用しているのですが、
syntasticでSyntaxチェックを行いエラーの場合にはステータスバーにエラーの発生している行数を出力できる事を最近知りました。
綺麗で見やすいため、vim-watchdogsにも同様の機能を提供したいと思います。

syntasticlightline.vimを使用している方は下記記事並びにlightline.vimのREADME.mdに一度目を通した方が良いかと思います。

手順 Operation

plugin概要 plugin summary

  • shabadou.vim

    前回同様にid:osyo-mangaさんの作成したpluginをfolkし、新規に作成したpluginを起動できるように設定をちょこっと修正しました。
    (2014/06/15:追記)本体に取り込まれました。

  • vim-qfstatusline

    新規に作成したpluginです。
    現状の仕様としてはvim-quickrunをトリガーにvim-qfstatuslineがステタースバー側で用意している関数を実行し、
    ステータスバー側から再度vim-qfstatuslineの関数を実効し文字列を取得する形にしました。
    これはsyntasticlightline.vimの連携方法を意識して、vim-qfstatuslineを組み込んでもlightline.vimに影響しないよう考慮したためです。

vimrc設定 vimrc setting

vim-qfstatusline 設定例

感想 Impressions

Syntaxエラーを見やすくする事はこの2つのpluginで実現できました。
まだ、ドキュメントと動作に納得いっていない部分があるため、これから徐々に作成したいと思います。
(2014/06/15:追記)
ドキュメントも作成したので多くの人に利用して頂ける事を切に願います。

Norton AntiVirus エラー対応@Mac

定期的にエラーが発生するため、対処方法を備忘録として残します。
チャットでサポートに問い合わせた所、再インストールして下さいと指示されました(2回中2回)。
定期的にエラーが発生するという事は解決していないという事でしょう。
定期的にAntiVirusが無効になるAntiVirusソフトはAntiVirusソフトとしての役割を果たしているのかははなはだ疑問が残ります。

なお、以下の作業を行う場合には自己責任でお願いします。

メモ memo

Norton AntiVirus for Mac のアンインストール

cd /tmp
wget ftp://ftp.symantec.com/misc/tools/mactools/RemoveSymantecMacFiles.zip
unzip RemoveSymantecMacFiles.zip
RemoveSymantecMacFiles/RemoveSymantecMacFiles.command

再起動後、ゴミファイルを検索し除去します。

sudo find / -name '*symantec*'
sudo find /private -name '*symantec*' -exec rm -rf {} \;

必要なファイルが含まれている、消さなくても問題無い、わからない場合にはファイルの削除を実行しない事をオススメします。

Norton AntiVirus for Mac をインストール

最新版のAntiVirus for Macをダウンロードします。

cd /tmp
wget http://www.norton.com/latestnavmac
wget `cat latestnavmac|grep dmg -m 1|awk '{print $4}'|sed 's/?OpenDocument&src=latestnavmac">//g'|sed 's/URL=//g'|tr -d '\r\n'`
hdiutil mount NortonAntiVirus.EnglishESD.dmg
open -a /Volumes/Norton\ AntiVirus\ CD/Norton\ AntiVirus\ Installer.app

その他のアプリをご利用の方はアカウントに登録されていないノートン製品をダウンロードする方法でダウンロード出来ます。

プロダクトキーは以下のページで参照できます。

感想 Impressions

AndroidWindowsではNortonでこのようなケースはなかったような気がすので、
私のMacが無効になる条件を満たしていて定期的に無効化させてしまっているでしょうね。