Sinatraのあらかると

記録することで、環境構築で悩まない。

修正:zinbeijettとVim、ViViの相性は抜群!

この間は、Vimの話をしました。環境を構築して問題点をみつけることはできました...が対応するかどうかは予定は未定であって決定ではない状態です。たぶん、私はC力が乏しいので必要に迫られても絶望的...さじを投げるレベルです。Time is moneyですね。時間と資金があれば、治せるかも...裕福な方やこれから時代を担うであろう情報系の学生さんにお任せしたいですね。この間、暗黒美夢王さんのつぶやきをみていてある情報系の学生さんがNeoBundleInstallをVimScriptで更新してマージされているところをみて、すごいな...って。私もできれば...コントリビュートしたいですけどね。Vimの話があったので今日は違う話。

ViVi web site

私はVimもViViもいいエディタだと想います。

はじめに、仕事などで使うときですが、

Vimはスポンサー登録をすれば寄付ができます。ある金額を超えるとスポンサーとして名前が残ります。

(本格的に仕事で使うならスポンサー登録はしたほうがいいと想います)

ViViはシェアウェアなので有償です。

環境

Windows10

ViVi4

こういうわけです。それ以外にないです。

ViViで、作業記録を書いていてふと自分が作ったシェルというかCLIというか...なんというか、動かないだろうか...と試しました。

・zinbei...動いてるけど文字化けてる。いい感じ。

何年か前に動作確認をした覚えはあります。

・zinbeijett...う?なんだかイケるぞ。

久々に今回初な試みです。

RubyGemsに登録してあるので

gem install zinbeijett

で簡単にインストールできます。

箱入り娘サポートページ

でCtl+Fで検索バーにzinbeijettと入力すれば英語で使い方を書いてますね。う?ん?意味がわからない?

日本語で表示するとしたら、

1.まず検索したいファイルを開いておきます。それからです、あせらずに。

2.

結果は、行番号+マッチする文字列を1行すべて表示します。

3.:q で終了します。

これですね。便利です。

さすがに、zinbeijettのzengineがViVi上で動作したときは感動しました。

内部エンコードutf-8にしているのでテキストファイルもutf-8でそろっていれば特に文字化けも目立たず(:→... これぐらい)に済んでいます。

ファイル内の文字数を増やしていくとそのうち面白みがわかってくるかもしれません。

テキストファイルなどの検索対象のファイルのエンコードUTF-8に設定してあることが前提です(重要)

自分が作ったツールがエディタで動くのをみると、嬉しいですね。作ってよかった。

Rubyはテキスト処理の強い言語なので、ほかにも機能を作って試せるように想います。

[比較]

比較にkaoriyaさんのVimではこのツールを起動するとウインドウは立ち上がっても文字化けがひどく動作もしなかった。これはおそらく、VimScriptでこれくらいのツールは作れるよって暗示...ぐふっ...吐血。

[検証]

Windowsではフォルダに¥でフルパスを追加して試してみると内部エンコードを気にすることになりますが、もともとがcp932(SJIS指定)だったか...でkaoriyaさんのGVimではutf-8化は簡単にできますが、ファイル内のエンコーディングShift_JISRubyの最初に#coding: sjisを追加して保存すると文字化け無く動作するようです。文字列の表示に問題があるからcp932に固定しているというので簡単な話、ViViのほうが内部エンコードUTF-8に対応していてzinbeijettは使いやすいというところが検証結果でした。

[考察]

Rubyで書いたプログラムがエディタの外部コマンドとして有効か否かを試すにはちょうどよい機会になりました。それほど複雑なプログラムではなく、内部は単なる正規表現のマッチするかどうかで、出力、非出力を決めて1行全てを表示するだけな検索エンジンです。それでも、使い方によってはかなり強力なアプリなので、VimやViViが好きな方は是非使ってみていただけるとうれしいです。

次は、NeoVimで試すかな...python3か...敷居が高いな...

Copyright © 2007-2017 Takayuki Kamiyama. All Rights Reserved.