タグ

ブックマーク / nanabit.net (8)

  • vimで行単位コメントをトグル/挿入/削除するコマンド/オペレータ commentop.vim @ 7bit

    行単位コメントをトグル/挿入/削除するための[count]コマンドとオペレータ{motion}を導入するvimスクリプト、commentop.vimの説明 [1]を書きました。 coで今いる一行のコメントをトグルしたり、 3cOで3行コメントアウトしたり、 gOa{で{}ブロックを丸々コメントアウトしたりできます。 ノーマルビジュアルオペレータ トグル(ON⇔OFF)cocogo{motion} 挿入cOcOgO{motion} 削除c<C-O>c<C-O>g<C-O>{motion} 上記の3x3=9種のキーマップが新たに定義されます。 デフォルトでftpluginの設定するcommentstringを使うので、何も設定しなくても多くの言語(vim, python, perl, ruby, haskell, sh, bash, zsh, java, javascript, Makefil

    otsune
    otsune 2009/07/12
  • Python vs C++ vs C# @ 7bit

    前回のエントリでは多数のファイルに対して正規表現をかける処理をC++Pythonで書いき、Pythonのほうが圧倒的に速いという結果になりました。 Pythonは書き方が収斂するので大してチューニングなどはしませんが、 C++では自由度が高いため書き殴ったコードを数万回繰り返すのでは、パフォーマンスを大きく落としそうです。 今回はC++の方の実装を少し修正し、またC#版も書いてみました。 結果は以下のようになりました。(単位は秒) 実験設定生grepPython + reC++ + boost.regex + ICUC# + RegexA-18.9729.46813.25028.6875A-216.86616.40718.82863.796875A-321.85715.07827.76575.0625B-11.1511.5624.5001.796875B-23.2923.3285.812

    otsune
    otsune 2009/06/28
  • C++とPythonの文字コード変換+正規表現速度比較ソース公開 @ 7bit

    以前書いたC++Pythonより重い… [1]でソースコードを載せると言いつつ載せて無かったので、引っ張り出してきました。 ptest_regex.zip をダウンロード [2] 昔のことで記憶が曖昧ですが、たしかC++, Python, 生grepで データセット実験1実験2実験3 ソースコードint.*\(^.*$^.*int.*$のち^.*\(.*$のち^.*\).*$ (英文?)和文は.*。^.*$^.*は.*$のち^.*た.*$のち^.*。.*$ をそれぞれ試しています。多分。 用いたデータセットや結果は過去のエントリ [3]を参照してください。 勿論「C++よりPythonが全面的に速い」「C++Pythonで同じアルゴリズムを実装すると後者が速い」ということが言いたいのではありません。(そしてそれは多分言えないと思う) 適当に使えそうな/気軽に使ってしまうライブラリ(C+

    otsune
    otsune 2009/06/28
  • C++がPythonより重い… @ 7bit

    GUI grepツールの調査過程は一応一段落し、当初のもくろみ通り製作に入ろうとしています。 今は特に苦もなく使えそうなPython, C++, C#のどれを用いるか検討中。 大量のファイルへのアクセスと正規表現のマッチは割と重い処理になりそうなので、実際にコードを書いて比較しています。 まず生grep。find | xargs grep '...'。直接Cで書かれていることを考えると、最速の基準として考えて良さそうです。日英対訳文対応付けデータ [1]をデータセットとして実験していますが、1.1秒くらいで2000ファイル近くのスキャンが終わる。 次に、書きやすそうなところでPython (re)でやってみました。所詮LLだし、結果には全然期待していません。 ところがところが、何故かこれが滅茶苦茶速い。 特に最適化したコードの書き方でもないんですが、1.6秒くらいで終わる。殆どC同等の速さ

    otsune
    otsune 2009/06/26
  • zshでsudoや|を無視して履歴から補完 @ 7bit

    zshでhistory-beginning-search-backwardをCtrl-Pなどに割り当て、入力したところまでマッチするように履歴から補完するように設定している方は多いと思います。 しかし、プロンプト先頭からカーソル位置までが検索対象となってしまうため、先にsudoを入れたり、パイプの途中から補完するといったことはできません。 そこで、現在のプロンプト入力からいくつか指定のパターンを除外した上で補完できるようなzleのウィジェットを書いてみました。 履歴に sudo apt-get update make make install ldconfig less があったとして、普通は sudo m(補完)としても何も補完されませんが、この設定を用いるとsudo make install => sudo makeのように補完してくれます。 sudo (補完)(補完に必要な文字列を何

    otsune
    otsune 2009/06/24
  • Vimでカレントウィンドウにのみ罫線を引く @ 7bit

    vimではCursorLine, CursorColumnグループをハイライトすることで罫線が引けますが、ウィンドウ分割するとすべてのウィンドウに表示されて陶しいのでカレントウィンドウにのみ表示するようにしました。 " カレントウィンドウにのみ罫線を引く augroup cch autocmd! cch autocmd WinLeave * set nocursorcolumn nocursorline autocmd WinEnter,BufRead * set cursorcolumn cursorline augroup END highlight CursorLine ctermbg=black guibg=black highlight CursorColumn ctermbg=black guibg=black 少し見やすくなった…かもしれない。

    otsune
    otsune 2008/05/20
  • dlnico @ 7bit

    dlnicoはニコニコ動画のflvをダウンロードするPythonスクリプトです。字幕は入りませんが、オプションで字幕XMLをFLVと同時に保存することが出来ます。 MPCで以前までflvが再生できていたのに、落としたflvで動画がでない場合の対処法 自分がそうだったので調べてみたら、dlnico.pyの不具合ではなく、ffdshow+libavcodec(FLV Splitter)が入っているのにMPCのInternal CodecでFLVにチェックが入っているのが原因でした。これを外せば動画も表示されます。 詳細・ダウンロード ダウンロードアイコンはソースコードにリンクしています。Windows exe化版は各バージョンのページから。 バージョン/DL日付概要

  • Synapse @ 7bit

    概要 Synapseは.NET Framework 2.0上で動作する省力・多機能(予定)フィードリーダです。開発中のα版がDL可能です。 主な特徴 RSS, Atomは勿論、その他の形式も拡張機能によりスクレイピングRSS/Atomの全文取得も容易 1/2/3ペインビュー 頻繁に使う機能はショートカットキーでアクセス(カスタマイズ可) 過去記事は保存されるので未読も気兼ねなく放置できる IEビューでホイールを回すだけで次々に記事・フィードを送ることができる 速度可変の自動スクロール, マウストラッキングで省力操作重視 「未読フィードのみ表示」「最近のエントリのみ表示」でスクロール低減 リンクを溜めて最後にまとめて開くジャンプキュー はてブ追加タグ付加、新着メール送信、ティッカー表示などを自由に組み合わせられるIronPython・.NET拡張体系 拡張機能の組み

    otsune
    otsune 2007/06/09
    RSS/Atom以外にも柔軟に対応できる省力・多機能フィードリーダ
  • 1