C++ で中身が同じ構造体を相互変換する

みたいな話が Lingr の C++ 部屋で出てた。 そういうことを実現したい場合は Boost.Fusion を使うのが現実的かな? (reinterpret_cast で無理やり変換してしまうという手が無いわけではないのだけれどさすがにアレ過ぎるので。 [ソース] // 構造が全く同じ…

遊ぶようの github organization をつくってみた

最近…でも無いんですが、github の org の存在を教えてもらいました。 新しい github のページが欲しい場合、その度にアカウントを作る必要があると思っていたんですが、org で簡単に作れるんですね。 これは便利。 そんな感じで遊ぶようの org つくって Ang…

Vim のカーソルをバッファ末尾まで移動したら先頭に戻る

vim

いわゆる 'whichwrap' のような挙動をバッファの先頭/末尾で行うスクリプトを書いてみた。 [ソース] function! Up(key) if line(".") == 1 return ":call cursor(line('$'), col('.'))\<CR>" else return a:key endif endfunction function! Down(key) if line("</cr>…

unite-action の表示方法が少し変更された

vim

言い出しっぺなので書いておく。 横幅を広くして使用している人はあんまり関係ないんですが、unite-action の短縮の仕方が変更されました。 [before] [after] 以前は中央を短縮していたんですが、最新版では右側を短縮するようになりました。 ちなみに、以前…

ng-table を試してみた

昨日言ってた ng-table を軽く試してみました。 れうんこ過ぎるのでなにか無いかと探してみたら ng-table なるものを見つけた。 ngTable: Simple and easy work with table on AngularJS (pagination, sorting, filtering) [ソース] <html ng-app='MyApp'> <head> <title> test </title> <script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.2.17/angular.min.js'><…</head></html>

ng-table

最近、AngularJS で table を書いているのだけれうんこ過ぎるのでなにか無いかと探してみたら ng-table なるものを見つけた。 ngTable: Simple and easy work with table on AngularJS (pagination, sorting, filtering) その名の通り、AngularJS で table …

marching.vim から reunions.vim の依存を削除した

vim

現在 reunions.vim を vital.vim の外部モジュールへと移植しています。 osyo-manga/vital-reunions reunions.vim を vital.vim の外部モジュールとすることで vital.vim と同様にプラグインに直接 reunions.vim を埋め込む事ができます。。 これにより reun…

ラムダオブジェクトを static 変数で保持する時の注意

C++

Lingr の C++ 部屋で話題になったのですが、参照キャプチャしたラムダを static 変数で保持するのは未定義の動作になることがあるので注意しましょうという話。さて、話題になっていたのは次のようなコードです。 void func(int const& i){ static auto f = …

unite.vim のデフォルトのコンテキストを設定する

vim

unite#custom#profile() の {profile-name} に "default" を渡すことで全ての unite のデフォルトのコンテキストを設定する事が出来ます。 例えば、『insert から開始し、split しないで、prompt を常に上部に表示したい』場合は次のような設定になります。 …

vimhelp で英語の doc を :help できるようにした

vim

vimhelp で英語の doc を :help できるようにしました。 Vim と同様に末尾に "@en" を付属されれば英語版の doc を表示します。 不具合等があったら Issues までご連絡ください。

Vim 7.4.338 で 'breakindent' オプションが追加された

vim

Vim 7.4.338 で 'breakindent' オプションが追加されました。 このオプションは何をするのかというと 'wrap' で折り返した時に折り返された行もインデントする設定になります。 [関連] 'wrap' で折り返したときにインデントする機能が欲しい · Issue #114 · …

AngularJS でローカルの json ファイルを読み込む

AngularJS で json ファイルを読み込みたい場合は angular-resource を使用します。 [index.html] <html ng-app="phonecatApp"> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.17/angular.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular-resource.min.js"></script>…</head></html>

バージョンを指定して Vim 本体をビルドする

vim

最新版の Vim だと色々と不具合があったので少し前のバージョンに戻してみました。 Vim のソースコードは Mercurial で管理されているので Mercurial でソースコードを取得してビルドしている場合は簡単に任意のバージョンをビルドする事ができます。 7.4.32…

unite.vim の候補を動的にソートする unite-source と action をつくった

vim

vimfiler.vim だと S を押すことで動的に候補のソートを行うことができるのですが、そんな感じのことを unite.vim でもやってみました。 [プラグイン] osyo-manga/unite-candidate_sorter NeoBundle "osyo-manga/unite-candidate_sorter" [設定] " ソートの…

unite-github つくった

vim

Vim から vim-jp/issues を参照したかったので適当につくった。 [プラグイン] osyo-manga/unite-github NeoBundle "osyo-manga/unite-github" [使い方] " github/issues:{accunt}/{repos} :Unite github/issues:osyo-manga/unite-github とりあえず、今は is…

AngularJS の $watch でリストの要素を監視する

$watch でリストの要素を監視したい場合、$watch の第三引数に true を渡すことで、リストの中身やオブジェクトの要素を監視するようになります。 $scope.list = [] // $scope.list の要素が変更された場合にも呼ばれるようになる。 $scope.$watch("list", f…

Chrome でローカルファイルを読み込む

Web

Chrome で生の HTML ファイルなどからローカルファイル(.json など)を読み込むとエラーになる。 これを回避する場合は Chrome の起動オプションに --allow-file-access-from-files を付けて起動させる。 [参照] http://q.hatena.ne.jp/1322307624

AngularJS の ng-repeat に重複するデータのあるリストを渡す

ハマったので覚書。 さて、次のようにして重複するデータのあるリストを ng-repeat したい時があると思います。 <div ng-repeat='item in [1, 1, 2, 1, 2, 1]'> <p>{{ item }}</p> </div> しかし、上記のように『重複するデータがあるリスト』の場合には ng-repeat が動作しません。 これを動作させるようにするには "t…

70% ぐらい復帰しました

まだ完璧じゃないですが、少なくとも『連絡が取れない』ような状況からは脱出しました。 なんかいろいろとご心配おかけしたみたいですみません…。 (ちなみに病気や怪我ではないです。 とりあえず、ブログや Vim プラグイン開発あたりはぼちぼち再開していき…

haml でシンタックスチェックを行う

haml でシンタックスチェックを行う場合、--check と -trach オプションを付けて実行します。 $ haml --check --trach index.html.haml index.html.haml:23: Unbalanced brackets. (Haml::SyntaxError) from C:/Ruby200/lib/ruby/gems/2.0.0/gems/haml-4.0.5…

unite.vim で常にプロンプト行を上に表示する

vim

少し前に unite.vim にプロンプト周りの変更が行われました。 この変更に伴い unite.vim を下に開いた場合にプロンプトが下に来るようになりました。 この時に以前と同じように『常に上部にプロンプトを表示したい』という場合は次のように unite#custom#pro…

unite-vim_hacks を vim-jp.org に対応しました

vim

関連 vim-jp » vim-users.jpの過去記事を掲載します vimからvim hacksを閲覧する - unite-vim_hacks - 分け入ってもコード vim-users.jp が vim-jp.org へと移動したので、unite-vim_hacks でもそれに対応して pul request を投げていました。 無事に merge …

LLVM 3.4.1 がリリース

少し前になるんですが LLVM 3.4.1 がリリースされました。 LLVM 3.4.1 Release Notes — LLVM 3.4 documentation LLVM Download Page

少し復活しました

完璧ではないですが、メールや github などが少し確認できるぐらいには復活しました。 Vim プラグインの新規の開発は難しいですが、致命的なバグ修正などは優先して対応できると思います。 ブログは余裕があれば書く予定です。

しばらく音信不通になります

時間がないので手短に。 諸事情によりしばらく音信不通になります。 復帰する時期も未定です。 Lingr や Twitter、メールなども一切確認できない状態になります。 また、そういう状況のため申し訳ないのですが Vim Advent Calendar をわたしの方で管理するの…

vim-textobj-from_regexp で if 〜 then 間や式の右辺や左辺を取得したり

vim

Lingr で『if 〜 then 間や式の右辺や左辺を取得したい』みたいな話があったので textobj-from_regexp で簡単にやってみた。 [ソース] " if 〜 then omap <expr> <Plug>(textobj-if-then) \ textobj#from_regexp#mapexpr('if\zs\_.\{-}\zethen') vmap <expr> <Plug>(textobj-if-then)</plug></expr></plug></expr>…

operator-exec_command にビジュアルモードでキーマッピングを呼び出す機能を追加した

vim

昨日、operator-exec_command で caw.vim の operator を定義する記事を書いたのですが、『ビジュアルモードで任意のキーマッピングを呼び出す』みたいなことは多いかなーと思ってラッパー関数追加してみました。 operator#exec_command#mapexpr_v_keymappin…

operator-exec_command で caw.vim の operator を定義する

vim

コメントアウトを行う operator が欲しかったんですが今使っている caw.vim ではそういう機能がなかったので operator-exec_command を利用して簡単につくってみました。 [ソース] " コメントアウト nmap <silent><expr> <Plug>(operator-caw-I-toggle) \ operator#exec_command#</plug></expr></silent>…

Vim Advent Calendar 2013 183日目: unite-neobundle から github の Issues を開く

vim

この記事は Vim Advent Calendar 2013 183日目の記事になります。 今回は軽めの記事。 さて、プラグインを使っていると稀によくバグを見つけることがあります。 そんな時にさっとプラグインの Issues を開きたいですよね。 と、いうことで unite-neobundle …

Google Vimscript Style Guide

vim

というのが Google で公開されていました。 Google Vimscript Style Guide Google Vimscript Guide まだあんまり読んでいないのですがあちこちに maktaba という単語が書かれていますね。