前回の
Diff+Historyコマンド=hifferで快適なターミナル作業しようぜ
からの派生ツールです。
もっとニッチに機能を絞り込んで軽くした方が良いのかな?なんて思い作ってみました。
あらまし
リポジトリや、ファイルサーバーを使わない古典的なファイル管理だと
hostsみたいなファイルに.origとか.bak付けたりして同じフォルダに放置されてたりしますね。
Excelのなんちゃら_20200605(修正2).xlsxみたいなだめだめファイル管理で普段から癖になってるクソ運用
んで、運用で追加依頼が来たりすると日付だけじゃ最新かどうか判断できない、中身を見るしかない場合。
一個ずつ開いて比較してくのはメンドイ&シンドイ。
WinMergeにコピペを繰り返したりしません?でコピーミスって同じの張り付けてミスったり。。
で、差分がわかったとこで反映するのもめんどい。
せっかくLinuxのターミナル上でやってるんだから他のツールあれこれ使いたくない。
そんな要望をコンカチしてツール化してみました。
どですか?
複数ファイルを読み込んでlessぽく比較してくれるツールです。
ブラウザのタブみたいに表示、比較する対象を切り替えられます。
差分を反映したければコミットして部分的、または全体に変更かけれます。
部分的てのがミソで一部分だけ書き換えたいときにわざわざviから開かないでも操作一発で反映できるのでとても楽です。
単語検索の機能もつけてみました。
Windowsだけじゃなくて、Linux版もクロスプラットフォームであります。
バイナリも作っておきましたので拾ってくださいな。
ラズパイでもこいつ・・・動くぞ!
どこだい?
ここにおいときますんで、詳しくはリポジトリ側を見てくださいな。
さいなら
最初はviやlessみたいに画面の最下部に入力プロンプトを出す実装だったけど、
WindowsとLinuxでエスケープシーケンスの動作が違うのでWindowsで完成させてから
Linuxで動確したら画面が崩れまくって表示部分をだいぶ弄る事になった。。
スマホアプリで同じようにAndroidでいいかんじなのにiOSではガタガタって
ありそうだな。なんて思いつつ
追記
ライセンスが書いてなかったのと、インストール方法も十分でなかったので追記しました。
MITライセンスなのでご自由にどうぞ!
と
go getでgo/binの下にバイナリが配置されるよう手順を追加しました。
追記2
Windows上で設定する場合でも使えるようにShift JISをサポートしてみました。
一旦、内部でUTF-8に変換して変更するときに元のShift JISに戻す動きをします。
あと改行コードも揃えるのでShift JISとUTF-8の比較でも中身が同じなら差分が
無いようになりました!