タグ

ブックマーク / mattn.kaoriya.net (29)

  • Big Sky :: peco の使い方 - Windows 編

    前回の記事で「peco の使い方が分からない」という意見を幾らか頂いたのでサンプルを。 例えば、Qiita の「Go」タグのRSSを取ってきて、タイトルを一覧して選んだらブラウザが起動するスクリプトを書きたいとする。 @echo off for /f %%i in ('more +8 %~f0 ^| perl -S - ^| peco --null') do ( start %%i break ) exit /b 0 use strict; use warnings; use XML::Feed; use YAML::Syck; my $feed = XML::Feed->parse(URI->new('http://qiita.com/tags/go/feed')) or die XML::Feed->errstr; for my $entry ($feed->entries) { pr

    Big Sky :: peco の使い方 - Windows 編
    youz
    youz 2014/06/19
    powershellでperlいらないやつ https://gist.github.com/youz/1034f18e39c5cff6e360
  • Big Sky :: Windows のコマンドプロンプトを10倍便利にするコマンド「peco」

    Windows ユーザのごく一部には、コマンドプロンプトが無いと生きられない民族がいます。そしてその民族の一部には cygwin や msys bash 等といった、サードパーティなシェル(powershell?何それ聞こえなーい)を使いたがらない種族もいます。 私もその種族なのですが、今日はそういった世界中のWindowsエンジニアの中でも数パーセントしかいないであろう人達にとって便利なTipsを紹介したいと思います。(オマケでbash連携もあるよ) lestrrat/peco - GitHub https://github.com/lestrrat/peco 以前、私も同じようなツールとして gof というのを作りましたが、peco はこれをもっと簡素に、もっとカスタマイザブルにした物になります。 一見、UNIX でしか動作しなさそうに見えますが、gof ど同様に Windows でも

    Big Sky :: Windows のコマンドプロンプトを10倍便利にするコマンド「peco」
    youz
    youz 2014/06/13
    @for /f %%i in ('dir /b ^| peco') do %1 %%i みたいなバッチファイルとかでしばらく用途探ってみる
  • Big Sky :: Vimを使ったGo言語開発手法

    先日、Go言語バージョン1.1がリリースされました。安定しているのは勿論、幾つか新機能が追加されましたが、何よりもパフォーマンスチューニングが施された一番嬉しいですね。 Go 1.1 performance improvements | Dave Cheney This is the first in a series of articles analysing the performance improvements in the Go 1.1 relea... http://dave.cheney.net/2013/05/21/go-11-performance-improvements さて今日はVimを使ってGo言語を開発する方法を紹介したいと思います。 VimGo言語を開発するには、Go言語のリポジトリに含まれる misc/vim にランタイムパスを追加します。以下を vimr

    Big Sky :: Vimを使ったGo言語開発手法
  • Big Sky :: CD-ROM トレイを取り出せる vim プラグイン、「eject.vim」作った。

    vim 使ってると良く CD-ROM を取り出したくなりますよね。 ならないとしたら、今すぐこの記事を読むのをやめて病院に行って下さい。 mattn/eject-vim - GitHub https://github.com/mattn/eject-vim インストールすると :Eject というコマンドが追加されるので、実行するだけで CD-ROM トレイがゲロっと排出されます。 便利ですね! 皆さんもぜひ、使ってみて下さい。 (今日の参考文献: http://d.hatena.ne.jp/hasegawayosuke/20130112/p1) なお、Windowsでしか動作しません。動作には libcallex-vim が必要です。

    Big Sky :: CD-ROM トレイを取り出せる vim プラグイン、「eject.vim」作った。
    youz
    youz 2013/01/21
  • Big Sky :: VimでDBが操作できる vdbi-vim 作った。

    DB操作ツール Emacs DBI を作ってみた - 技術日記@kiwanami このツールの目的は、クロスプラットフォームで便利なDB操作環境を実現することです。 pgAdmin や MySQL Query Browser のようなGUIの良さをCUIで実現してみようとしてみました。すなわち、ぼくのかんがえたさいきょうのDBツールです。ちなみに、このツールにとってEmacsはただの実行環境です。Emacs使わない人でも使うと便利だと思います。 http://d.hatena.ne.jp/kiwanami/20120305/1330939440 VimもーVimもー! って事で作りました。 mattn/vdbi-vim - GitHub Database client for Vim https://github.com/mattn/vdbi-vim Emacs版はepcというRPCプロト

    Big Sky :: VimでDBが操作できる vdbi-vim 作った。
    youz
    youz 2012/03/07
  • Big Sky :: Vim scriptはウェブアプリケーション記述言語やったんやー

    こんにちわ。昨今、ウェブ開発の進化はすざましいですね。PythonPerlJava、色んな言語で書かれていると思います。 もちろん編集にはVimを使っているかと思います。 でも編集だけ? 違うよね! Vim scriptはウェブアプリケーション記述言語なんだよ! Plack::App::Vim package Plack::App::Vim; use strict; use warnings; use parent qw/Plack::Component/; use Plack::Request; use Encode; use JSON::PP; sub prepare_app { my $self = shift; $self->{vim} ||= 'vim'; if (!$self->{server}) { open(my $f, "vim --serverlist|"); my

    Big Sky :: Vim scriptはウェブアプリケーション記述言語やったんやー
    youz
    youz 2012/01/30
  • Big Sky :: 技術系Advent Calendarの全てをVimから選べるUniteソース書いた。

    全国8万人の技術系Advent Calendarファンの皆さんこんばんわ。 技術系Advent Calendar見るのは好きだけど思い立った時にいちいち探すのマンドクサイ! まとめて頂いてるサイトもあるけど、できればここはVimからアクションしたい! そんなアナタに送ります。 mattn/unite-advent_calendar - GitHub unite source for advent calendar 2011 in japan https://github.com/mattn/unite-advent_calendar :Unite advent_calendar として起動すると ドゥーーーーーーーーーン! 現状、86個のAdvent Calendarが一覧表示されます。さらにこの中の一つを選ぶと(例えばVim Advent Calendar) ズゴゴゴゴゴゴゴゴゴ....

    Big Sky :: 技術系Advent Calendarの全てをVimから選べるUniteソース書いた。
    youz
    youz 2011/12/16
  • Big Sky :: モテる男のVim script短期集中講座

    ここで関数リファレンスのみ格納先の変数の先頭が大文字になっていますが、これはVim script特有の制限になります。 数値は一般的な言語と同じ様に四則演算できます。文字列については.を用いて連結します。 また文字列は添え字によるアクセスが可能で、pythonの様に echo "hello"[1:3] という記述が出来ます。その他文字列操作関数については:help evalに詳しく記述されています。 また型同士の比較についてはthincaさんの記事が役立ちます。 Vimスクリプト基礎文法最速マスター - 永遠に未完成 Vimスクリプト基礎文法最速マスター vim 流行ってるみたいなので遅ればせながら便乗。需要?何それおいしいの? Perl基礎文法最速マスター - サンプルコードによるPerl入門 Route 477... http://d.hatena.ne.jp/thinca/20100

    Big Sky :: モテる男のVim script短期集中講座
  • Big Sky :: vimのステータスラインでハァハァするプラグイン書いた。

    今まで僕はvimのstatuslineに値を設定した事は無かったんだけど、githubに置いてある色んな人のvimrcを見てると結構多くの人がstatuslineを設定してて、これってもしかして便利なんじゃ...と思って設定してみた。ただ、なんか味気ないなーという気がしたので、ステータスラインで「ハァハァ」出来るプラグインを書いた。 mattn/hahhah-vim - GitHub ハァハァ statusline for vim https://github.com/mattn/hahhah-vim タイピングしたりカーソルを移動すると、ハァハァしてる顔がクルクル回ります。 これはすごい! さらに何かvim内でエラーが発生すると、しばらくの間「工エェ」なステータスラインになります。 斬新! ぜひお役立て下さい。

    Big Sky :: vimのステータスラインでハァハァするプラグイン書いた。
  • Big Sky :: vimscriptでLispエンジン書いた。

    この記事見てたら、「vimscriptでも書けるさ!」と悔しくなったので勢いだけで書いた。 Simple Scheme interpreter in Perl - Life is very short Simple Scheme interpreter in Perl perl , scheme | 21:52 昨日 Brainfuck を書いてみたので、今日は Scheme( Lisp )の 処理... http://d.hatena.ne.jp/syohex/20111116/1321447925 後悔していない。 mattn/lisper-vim - GitHub This vim plugin provide lisp environments for vimmers. https://github.com/mattn/lisper-vim 見ての通り、vimscriptだけでli

    Big Sky :: vimscriptでLispエンジン書いた。
  • Big Sky :: Go言語の新しいデータベースパッケージ向けに3本ドライバを書いた。

    最近バージョン1リリースを目標にガチャガチャと凄い勢いでパッケージ構成が見直されていますが、その中でGo言語向けに新しいパッケージが入りました。 これまででもsqlite3やmysql向けに何人もの人が個性的なドライバを書き、インタフェースも揃わず、中には開発をやめ、それを使ったアプリケーションの開発も止まるという悪循環になろうとしていました。 そんな中入ったのがdatabase/sqlです。Go言語としてはデータベースの枠組みだけ提供し、ドライバはサードパーティに作ってもらうというもくろみです。これによりデータベースに関してはドライバを構成通りに開発すれば使用者側は同じインタフェースで呼び出せるという物です。PerlでいうDBIですね。 誰もあまり手を付けてなさそうだったので、3ばかしドライバを書かせて頂きました。 SQLite3 mattn/go-sqlite3 - GitHub s

    Big Sky :: Go言語の新しいデータベースパッケージ向けに3本ドライバを書いた。
    youz
    youz 2011/11/16
  • Big Sky :: やったーJavaScriptの動くSQLiteできたよー

    ※ネタです ※UDFです 正誤表を書くのにしばらくこのをちょっと眺めてみたら、SQLiteのUDFって簡単に作れるんだなー、と思った && そういやV8ってライブラリとして簡単にリンクできるはずだな、と思い出した ので、ついカッとなって作った。 sqlite3udf-jseval - GitHub http://github.com/mattn/sqlite3udf-jseval UDFうんぬn ほとんど↑の、全然関係ないと思ってたけど、やっぱりSQLiteのUDFについて全然書いてなかった。しょうがないので軽く紹介しておくと UDFを追加する場合、SQLiteの再コンパイルは必要ない (しかるべき所に.soがおいてあればいい) UDFはこの辺読んどけばだいたい分かる。 例えば文字列っぽいものを返すmyfuncっていうUDFを作りたい場合 SQLITE_EXTENSION_INIT

    Big Sky :: やったーJavaScriptの動くSQLiteできたよー
  • Big Sky :: Learn Vim Progressively

    この文章は、 http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/で掲載されている「Learn Vim Progressively」の翻訳文です。 文内の全てはの筆者による物であり、訳文の内容については私による物となります。意訳が若干入っています。間違い等あればご連絡下さい。 tl;dr: 可能な限り速くvim(人類史上、最良と知られているテキストエディタ)を習得したい。その方法を提案する。生き残るには最小を学ぶ事から始め、その後徐々にトリックを混ぜて行く。 Vim 60億ドルのテキストエディタ 優れいて、強く、そして速い vimを学ぶ事、それはあなたあなたが学ぶ最後のテキストエディタになるでしょう。私が知る限りより優れたテキストエディタはない。学ぶのは難しいが、使うと素晴らしい。 4つのステップで学ぶ事をお勧めす

    Big Sky :: Learn Vim Progressively
  • Big Sky :: Googleから小包届いた

    先日、庭で子供のプールを汗だくになりながら膨らませ、子供に気で水をかけられずぶ濡れ状態だった中、ちょっと大きめの郵便が届いた。 送り元はGoogle Inc なんとなく中身は予想できていた。 Gopher... Go Developer Teamからの贈り物でした。 Goのサイトにあるやつとおんなじですね! 夜中に見ると、ちょっと怖いです。 ちなみにこれを送ってくれたGoogleのAndrew、これとおんなじやつを1000個持ってるらしいです。 ぜんぜん羨ましくないwww

    Big Sky :: Googleから小包届いた
    youz
    youz 2011/08/30
    オリジナルはクマシーに似ててまだ可愛かったのに… どうしてこうなった
  • Big Sky :: 日本語grepが出来るjvgrepというのを作った。

    語を扱っていて困るのがgrep。正規表現パターンにマルチバイト文字を混ぜられなかったり、windowsで動かすと"表"の様に2バイト目にbackslashが混じる文字で動作しなくなったりします。 さらに複数のエンコーディングで書かれたファイルが散らばっていると一度のgrepで検索出来なかったりもします。 vimに限っては、内蔵のvimgrepを使う事で解決出来ますが、見つかったファイルをバッファに開いてしまうという挙動がある為、grepオリジナルの動作を求めている人にとっては都合の悪い物だったりもします。 vimgrepの様に複数のエンコーディングに対応していて、検索パターンにマルチバイト文字を含んだ正規表現が使えて、windowsでもちゃんと動いて、ついでといっちゃあなんだが、"**/*.txt"で再帰検索してくれる様なgrep無いかなぁと思ってたんですが、やっぱり無いので作りました

    Big Sky :: 日本語grepが出来るjvgrepというのを作った。
  • Big Sky :: Vimテクニックバイブル ~作業効率をカイゼンする150の技

    名無しのVim使いでお馴染みの小見さんにお誘いを受け、執筆のお手伝いをさせて頂きました。 これまで僕が持っていたVimは、「Viとは」から始まりページ数の半分くらいで操作方法、最後の方にようやく「GVimとは」が現れる、あまり奥にまで入り込んでいない書籍でした。 もちろんこれらのも僕を喜ばせる事は出来たのですが、なにぶんページの殆どが知っている情報だったので僕にとって「ワクワクする」では無かったんです。 ずっと最新情報取り入れたVim出ないかなと思ってました。 そんな中、小見さんから話を持ちかけて頂き、まさか自分がその著書を作るなんて思っても見なかったけど即答でOKを出させて頂きました。 僕が最初に見たViは大学の某研究室にあったSONYのNEWSというUNIX上で友達が動かしていた物。その時は変な操作方法だなぁとしか思ってませんでした。 それから就職した会社のワークステーションで

    Big Sky :: Vimテクニックバイブル ~作業効率をカイゼンする150の技
  • Big Sky :: Google App EngineのアプリケーションをGoで書ける様になった。

    僕にとってデカいニュースが飛び込んできた。 Goの開発プロジェクトに関わってて良かった。今日はそう思える日になりそうだ。 まだGoogle App Engine Blogにもエントリされてないが、Google App EngineにGo言語が仲間入りした。 Downloads - Google App Engine - Google Code Google App Engine SDK for Go http://code.google.com/intl/en/appengine/downloads.html#Google_App_Engine_SDK_for_Go Go言語は元々Google社員が開発している言語で、コンパイル型言語とは言えDuckTypingを前面に押し出した、スクリプト言語に近い仕様になっています。またWebに関するAPIは豊富で短いコードで簡単にWebアプリケーショ

    Big Sky :: Google App EngineのアプリケーションをGoで書ける様になった。
    youz
    youz 2011/05/11
  • Big Sky :: コマンドラインで使えるtwitterクライアントをGoで書いた。

    普段からvimtwitterしてますが、どっちかっていうとtwitter見たりボヤいたりするのにもコンソールのままでいたい派です。 ページャとか、自分で拾うのでコンソールにまま出力されてくれればいい...そんなtwitterクライアントが欲しかったので自分で書いた。 mattn/twty - GitHub twty: command-line twitter client https://github.com/mattn/twty Go言語で書いたのは一度ビルドすればexeだけでランタイムが要らないから。あとGoだと簡単に書けるのよね。僕は。 ただ残念ながらどうしてもWindowsのコマンドプロンプトをサポートから外す訳にいかなかったのでGoのiconv拡張だけはライブラリとして入れる必要があります。 なお、この場合出来上がったexeとiconv.dllだけあれば動作します。USBかなん

    Big Sky :: コマンドラインで使えるtwitterクライアントをGoで書いた。
  • Big Sky :: Growl For Linuxを作ってます。

    MacにはGrowlがあり、WindowsにはGrowl For Windowsがあります。LinuxにもNotify-OSDがあるじゃないかという人もいますが、Linuxユーザは皆こう思ってる。「これGrowlじゃないもん!」 mumblesというpython+DBusで書かれたGrowl Systemもありましたが、どうやらプロジェクトが消え去った様子。 これはまずい。 と、僕は「Growl For Linux」を作り始める事を決めた。 C言語でGTKを使ったGUI。プロトコルは今後、MacのGrowl 1.3でもサポートされる予定であるGNTP(Growl Network Transfer Protocol)を使う事にした。 来ならば今日あたりにバージョン0.1あたりをリリースする予定だったんだけど、色々と立て込んでいて実はまだ出来てない。でもGNTPを受信して、Growlポップア

    Big Sky :: Growl For Linuxを作ってます。
  • 20110201010655.htm

    この時をずっとまってた。 Google製の新しいコンパイル型言語Go上で動くGTK GUIライブラリ、go-gtkが今日、windowsで動いた。 Xming上で動いている様にも見えますが、ちゃんとwin32 nativeなGTKで動いてます。 まずは一般的なGUIのサンプル。 そしてgoroutineで非同期にtwitter public timeline(非streaming API)を読み込むサンプル。 だいたい動きました。ここ数日、cgoのwin32対応に関するsubmitが多くなってたので、そろそろ動くかなと思って着手しました。win32向けに対応した部分としては実はそんなに多くないです。go-gtkはイベントポーリングを自前でやっていて、その排他制御にpthreadを使っているんですが、win32だとpthread_mutex_lock/pthread_mutex_unlock

    20110201010655.htm