タグ

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

  • Big Sky :: vimrcのどこが重いのかを調べられるプラグイン書いた。

    Vimには --startuptime というコマンドラインオプションがあり $ vim --startuptime foo の様に指定するとスクリプトファイル単位で掛かった時間を知る事が出来ます。 times in msec clock   self+sourced   self:  sourced script clock   elapsed:              other lines 000.000  000.000: --- VIM STARTING --- 000.000  000.000: Allocated generic buffers 000.000  000.000: locale set 000.000  000.000: clipboard setup 000.000  000.000: window checked 000.000  000.000: in

    Big Sky :: vimrcのどこが重いのかを調べられるプラグイン書いた。
  • 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 作った。
  • 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はウェブアプリケーション記述言語やったんやー
  • Big Sky :: Vimと包丁

    僕がサクラエディタからVimに乗り換えるまで - ITは芸術だ 僕がサクラエディタからVimに乗り換えるまで エディタ はじめに 恐怖のエディタ、Vim。 僕はこの間までずっとサクラエディタを愛用していましたが、最近 Vim を使うようになりました。 ええ、Vim... http://d.hatena.ne.jp/JunichiIto/20120101/1325420213 Vimテクニックバイブルの著者略歴でも書いたけど、僕は「生涯Vimを使う」と決めた。僕のブログを読んでくれている人なら、だいたいの人は僕がVimを使っているのは知ってると思うけど、今日は「なぜ僕がVimを選んでいるのか」を書こうと思う。 こんな僕だけど、Vim以外が使えない訳じゃない。PCVim以外のテキストエディタが入ってない訳でもない。Emacsも一応は使える。もちろんEmacsもxyzzyもsakuraエディタ

    Big Sky :: Vimと包丁
    yogasa
    yogasa 2012/01/07
  • Big Sky :: 僕たちプログラマーは、Excelファイルの生成に、Vimを使います。

    # vim Vimを起動して <?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"> <Worksheet ss:Name="Sheet1"> </Worksheet> </Workbook> XMLを書いて <?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:

    Big Sky :: 僕たちプログラマーは、Excelファイルの生成に、Vimを使います。
  • Big Sky :: めんどうな作業がわずか数十秒に!新人プログラマが知らないと一生後悔するVimを使ったHTML生成

    « ExecuteExcel4Macro で CALL ワークシート関数使ってShellExecute呼んでそれでVimScript操作してHTMLを数秒で生成するの作った。 | Main | サラリーマンの為のメールが2倍速く書ける(気がする)vim補完書いた » こういう作業ってプログラマなら日常茶飯事で、やり方しらない新人プログラマはいつまでたっても新人なのだけど... めんどうな作業がわずか数秒に!新人デザイナーが 知らないと一生後悔するExcelを使ったHTML生成 | Webロケッツマガジン お客さんから送られてきた、Excelデータからせっせとリストや表のHTMLをコーディングしているあなた!そろそろ手がが疲れてきていませんか? そんなあなたは、この記事で紹介するExcelテクニックをぜひ覚えてください。 面倒な作業が、わずか数秒で終わります! http://webrocke

    Big Sky :: めんどうな作業がわずか数十秒に!新人プログラマが知らないと一生後悔するVimを使ったHTML生成
    yogasa
    yogasa 2011/12/17
  • Big Sky :: 意外と知られていないvimのtips(Mac OSXでもExploreから拡張子に応じたアプリケーションを起動)

    vimにはexplore.vimというスクリプト(現在はnetrw.vimに統合)が付属しており # vim /usr/include 等と実行すると、vimがファイラとして起動します。同様にコマンドラインから :e /usr/include と実行しても同じ結果になります。コマンド単体としてもExploreとして起動出来ます。 このExplore実は結構よく出来ていて、以前ご紹介した「男は黙ってvimでリモート編集」の応用として :e ftp://ftp.vim.org/pub/vim/ Enter username: anonymous Enter Password: ********* でフォルダ閲覧出来ます。(*********はanonymous) " ================================================================

    Big Sky :: 意外と知られていないvimのtips(Mac OSXでもExploreから拡張子に応じたアプリケーションを起動)
  • 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-jpがオープンした訳だけど、これの真の意味はバラバラだったユーザや開発者を1ヶ所に集めるのが目的。まぁVim-users.jpもあって良いし、各々でやったらいいと思うけど僕が求めていたのは開発側。 vim-jpを作って良かったと思った。 githubのIssueトラッカーを使ってvim_devにパッチを放流するまでのワークフローが出来上がりつつある。 不具合報告 皆で再現確認 修正方法の提案そして議論 修正担当者をアサイン パッチを仮で書いて貼り付ける レビューしてもらって提出 突然、有識者がパッチ書いてvim_dev投げるとツメも甘かったりしますし、第一に新しい開発メンバが増えない。仕事でも同じだな。不具合が出たら修正者にすぐ直させるものいいんだけど、どう直すのかを予めレクチャーさせると不具合の認識が共有出来る。 後からそういう修正じゃなかったんだけど...って事がなくなる

    Big Sky :: 個々の作業はチームを作る事で効率を上げられる
  • Big Sky :: 日本語grepが出来るjvgrepというのを作った。

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

    Big Sky :: 日本語grepが出来るjvgrepというのを作った。
    yogasa
    yogasa 2011/08/20
  • Big Sky :: モテるvim女子力を磨くための4つの心得

    こんにちは、ホストクラブ「今夜もvim vim」でホストをしていますmattnです。私は補完も使わないしバッファセレクタも使いませんが、ネタプログラミングについてはプロフェッショナル。今回は、モテるvim女子力を磨くための4つの心得を皆さんにお教えしたいと思います。 1. 「終了出来なーい」と言っておく あえてインサートモードのままにしておき、visualbellを鳴らす様に設定しておきましょう。 そして飲み会の場で好みの男がいたら話しかけ、わざとらしくvimを起動し「あ~ん! このテキストエディタマジでチョームカつくんですけどぉぉお~!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「終了できない~!:wqってなにぃ~!ピーピーって音がなるだけ~!ぷんぷん(怒)」と言いましょう。 だいたいの男は自分の専門性をアピールしたがる習性があるので、横からESCキーを押しに

    Big Sky :: モテるvim女子力を磨くための4つの心得
  • 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を作ってます。
  • Big Sky :: C++でcoutやcerrの挙動を変える。

    先日twitterで「C++でデバッグする時、よくやるよね」って言ったら結構知らない人がいたのでここでも紹介してみる。 既存のコードでcout/cerrを使ったデバッグ文がわんさかあって、これログファイルとして出力したいな...って場合ありますよね。 そんな場合 #include <iostream> #include <fstream> using namespace std; int main() { // こんなの ofstream ofs("debug.log"); cout.rdbuf(ofs.rdbuf()); // いれとく cout << "debug string" << endl; } こうしておくと、その後のcoutへの出力が全てdebug.logというファイルへ出力される。 なおrdbufを元に戻すには #include <iostream> #include <f

    Big Sky :: C++でcoutやcerrの挙動を変える。
    yogasa
    yogasa 2011/04/02
  • Big Sky :: zen-codingの殆どの機能をzencoding.vimに取り込んだ。

    全国1億8千万人のzen-codingファンの皆様、如何お過ごしでしょうか。 先日の記事でzen-codingをpure vimscriptに移植した「zencoding.vim」をご紹介させて頂きました。 あの時は略語の展開(Expand Abbreviation)しか機能がなく物足りなかったかもしれません。まぁ殆どの移植品はExpand Abbreviationしか無いのですが。 zen-codingには他どんな機能があるかというと、実はまだ便利な機能があったりします。 オフィシャルのサイトによると Expand Abbreviation Wrap with Abbreviation Balance Tag Inward/Outward Go to Next/Previous Edit Point Update Image Size Merge Lines Remove Tag Spl

    Big Sky :: zen-codingの殆どの機能をzencoding.vimに取り込んだ。
  • Big Sky :: VimmerなPerl開発環境

    えーっと、IDE使ってません。ごめんなさい。 PerlをIDEで書いてる人、どれくらいいるんだろう。何使ってるんだろ。 私はLinuxでもWindowsでもVimを使ってます。Perlってサーバで使われる事が多いし、サーバだとsshで入る事が多いだろうし、まぁXの転送やVNCやそれっぽいのでグラフィカルに操作しても良いけど、正直PerlのドキュメントもテキストベースだしPerlで入力補完出来るグラフィカルエディタもまず無いと思ってる。 で、私がVim上で使ってるPerlの開発を「200倍便利にするスクリプト」を紹介。 perldoc.vim perldocはPerlのオンラインマニュアルなんだけど、これを一々ターミナルに戻ったりして引いてると時間のロス。screenで分割して開いてもいいんだけどscreenの画面間移動よりもVim内でのウィンドウ間移動の方が操作感が統一出来てて良い。 そこ

    Big Sky :: VimmerなPerl開発環境
  • Big Sky :: TwitterのBasic認証廃止は約半分のデスクトップクライアントを殺した。

    さて、TwitterがBasic認証を廃止して1ヶ月が経とうとしています。 皆さんクライアントをOAuth対応したり、乗り換えたりしたでしょうか? 今までBasic認証で動いていた、ちょっとした捨てコード、どうなってるでしょうか? Twitterが始まった当初、gtktwitterというデスクトップGUIで動くTwitterクライアントを作りました。まぁ作りはそれ程優れた物じゃなくて、RTなんか無い頃でfriends_timelineが見れて、発言出来て、@によるリプライが出来る程度の物でした。 ただ純粋なC言語だけでGTKおよびcurlを使ったクライアントという事もあり、一部のgeekからは人気があったみたいです。 さてこのgtktwitterを今回、Basic認証が消え去った現状でも動くようにしてあげようと思い、今回改造を始めた訳です。 まず大きな壁にぶち当たりました。 Twitter

    Big Sky :: TwitterのBasic認証廃止は約半分のデスクトップクライアントを殺した。
    yogasa
    yogasa 2010/09/10
  • Big Sky :: ZimbuでFizzBuzz

    Vimの作者であるBram Moolenaar氏が開発しているプログラミング言語「Zimbu」を触ってみた。 the Zimbu programming language Suppose you want to write a new program, something like a text editor. What language would you write it in? It has to be as fast as possible, so interpreted languages are out. You don't want to micro manage memory, so C is out. You don't want to require programmers to have a degree, so C++ is out. You want fast s

    Big Sky :: ZimbuでFizzBuzz
    yogasa
    yogasa 2010/08/16
  • Big Sky :: Vim script manager「Vimana」が便利すぎる。

    これまでvimスクリプトをインストールするには、vim onlineでダウンロードして、書いてあるインストール手順に従って、時にはそのまま、時にはzipを解凍して.vim(windowsならvimfiles)に自前でコピーするのが一般的でした。おそらく自動化されている方もいるかもしれませんが、特有のスクリプト専用の更新ツールくらいかと思います。 Perlを知っている方ならばCPAN、rubyを知っている方ならばgemにあたる物がvimには無かったんです。 配布物が統一されていない為、無理だろうな...とも思ってました。 が、そこに登場したのがVimana(Vim script manager)です。 Vimana(3)             User Contributed Perl Documentation            Vimana(3) NAME Vimana - Vim

    Big Sky :: Vim script manager「Vimana」が便利すぎる。
  • Big Sky :: Googleサジェストから補完候補を作るVimスクリプト書いた。

    vimの入力補完って大変便利なんですが、例えば「あーあの芸能人、名前分かるけどどの漢字だったっけ...」なんて事がたまにあります。 芸能人の名前辞書用意持ってる人なんて見たことないですね。たいがいこういう時はGoogle先生にたよるのが一般的です。 今日はGoogleサジェスト(Google検索で数文字打ったら出てくるあの候補)からvimの補完を行えるスクリプトを書いてみました。 例えばこんな事が出来ます。 おもむろに「takasu」と打って、<c-x><c-u>とタイプします。 Yes! 高須クリニック! えっ2番?...うるさい! 便利ですね! また「watasinonamaeha」(私の名前は)と打って<c-x><c-u>すると... 私の名前はキムサムスン 誰ですか!キムサムスン! 例えば「naitu」なら... ナイツ お笑い 「www」なら... www.yahoo.co.jp

    Big Sky :: Googleサジェストから補完候補を作るVimスクリプト書いた。
  • Big Sky :: VimからIRC出来るスクリプト書いた。

    « Opera-10.50-6177でJavaScriptからコンテキストメニューが抑制出来る様になった! | Main | Googleサジェストから補完候補を作るVimスクリプト書いた。 » 長きに渡り活躍したWIDEプロジェクトIRCサーバが役割を終えようとしています。そして惜しまれる中、livedoorがIRCサーバの提供をかって出てくれました。 livedoor ラボ「EDGE」 開発日誌 : livedoorからIRCnetIRCサーバを提供します - livedoor Blog(ブログ) WIDEプロジェクトIRCワーキンググループによるIRCサーバ運用終了について という発表がありましたが IPv6を応援し、IRCをこよなく愛するlivedoorは、IRCnetIRCサーバを提供することを決定しました。 ※IPv4とIPv6で利用可能なデュアルスタック環境を用意する予

    Big Sky :: VimからIRC出来るスクリプト書いた。
    yogasa
    yogasa 2010/01/28