2013-06-01から1ヶ月間の記事一覧

gyazo.vim を PhantomJS と Ruby に依存しないようにした

vim

ただし、curl が必要になりましたが。 さて、先日 Vim から Gyazo るプラグインをつくったのですが、一部コマンドで PhantomJS と Ruby を使用していました。 これをゴニョゴニョして PhantomJS と Ruby がなくても動作するようにしました。 外部コマンドで …

Visual Studio 2013 のリリース版で更に追加される予定の C++11 の言語機能

C++

C++11/14 STL Features, Fixes, And Breaking Changes In VS 2013 - Visual C++ Team Blog C++ Conformance Roadmap - Somasegar’s blog さて、Visual Studio 2013 Preview で実装されている C++11 の機能は前回紹介しましたが、上記の記事によると製品版で…

Vim のウィンドウを Gyazo る

vim

この記事は Vim Advent Calendar 2012 210日目の記事になります。 さて、画像データを Web へとアップロードするサービスとして『Gyazo』という Web サービスがあります。 Gyazoへようこそ : スクリーンショットの瞬間共有 わたしも愛用しており、素早く画面…

Visual Studio 2013 で追加される予定の C++11 の言語機能

C++

What’s New for Visual C++ Developers in VS2013 Preview - Visual C++ Team Blog 上記の記事によると、 Default template arguments for function templates. Delegating constructors. Explicit conversion operators. Initializer lists and uniform ini…

heroku で phantomjs を使用した時に日本語が文字化けするのを解決する

heroku 内で phantomjs を使用して Webサイトのスクリーンショットを保存しようとしたんですが、その際に次のように日本語が文字化けしてしましまいました。 [解決] アプリケーションのリポジトリに ~/.fonts/ ディレクトリを追加し、そのディレクトリに日本…

おすすめの unite-source 教えてください

vim

この記事は Vim Advent Calendar 2012 207日目の記事になります。 と、いう発言があったので、わたしが個人的によく使用している unite-source を上げてみたいと思います。 なお、内容がだいぶ偏っているのに加え unite-source には類似している source も多…

vimconsole.vim を使ってみた。

vim

Vim scriptでのイミディエイトウィンドウを作った。 - Qiita と、いうことで rbtnn さんの作成したプラグインなのですがいくつか希望した機能が実装されたので手元で使いやすく設定してみました。 function! s:capture(cmd) redir => result silent execute …

Vim で N行目にマッチする正規表現

vim

Lingr でチラッと出てきて知らなかったので覚書。 \%l を使えばいいみたい " 13行目にマッチ \%13l " > < を使用するとその行間がマッチする " 下の場合は 5〜9行目にマッチ \%>5l\%<10l

Vim で指定した文字を挿入して行を結合する

vim

この記事は Vim Advent Calendar 2012 204日目の記事になります。 元ネタ:http://lingr.com/room/vim/archives/2013/06/20#message-15677149 という話が Lingr の Vim部屋で出たのでさくっとプラグイン化して作ってみました。 [インストール] osyo-manga/vi…

本日20:00〜から C++オンライン読書会を行います

C++

本日20:00〜から C++オンライン読書会を行います。 今日読む資料は C++Now 2013 の資料の中からその場で決める予定です(こんどこそ! 気になる方や参加されたい方は 20時頃に lingr-cpp 部屋までお越しくださいまし。

node.js で require したらモジュールが見つからないとエラーになった

覚書。 npm でモジュールをインストールして node.js で使用しようとしたんですが、require したら以下のようなエラーに。 module.js:340 throw err; ^ Error: Cannot find module 'phantom' at Function.Module._resolveFilename (module.js:338:15) at Fun…

Vim で ref-refe の結果をバルーン表示する

vim

そんな感じの話を Lingr で見かけたのでちょっとやってみました。 [ソース] function! RubyRefBalloonExpr() try return iconv(ref#available_sources("refe").get_body(v:beval_text), &enc, &termencoding) catch return "Not Found" endtry endfunction a…

Boost で日付処理

元ネタ : 誰もが一度は陥る日付処理。各種プログラミング言語におけるDateTime型/TimeStamp型の変換方法のまとめ 昨日に続いて同じネタなんですが Boost がなかったのと Boost.Date_Time あまり使ったことがないので練習がてら書いてみました。 [現在時刻のD…

LLVM 3.3 がリリース

LLVM 3.3 がリリースされました。 Download LLVM 3.3 LLVM 3.3 Release Notes Clang 3.3 Release Notes 予定より2週間ほど遅れていたんですが無事にリリースされました。 既知の通り Clang 3.3 では C++11 の機能が完全実装されています。 ClangがC++11を完…

誰もが一度は陥る日付処理。各種プログラミング言語におけるDateTime型/TimeStamp型の変換方法のまとめに Vim script が無いので追加

vim

元ネタ : 誰もが一度は陥る日付処理。各種プログラミング言語におけるDateTime型/TimeStamp型の変換方法のまとめ Vim script がないので書いてみました。 [現在時刻のDateTime取得] strftime() を使用します。 echo strftime("%Y-%m-%d %H:%M:%S") " => 2013…

Vim のグローバル変数の一覧を unite.vim で表示させる

vim

この記事は Vim Advent Calendar 2012 199日目の記事になります。 元ネタ : lingr での supermomonga さんの発言 1.:Unite output:let Shougo さんが速攻で返信しました。 unite-output 便利過ぎる。 2.g: を使用する 上記のように let を使用するのでもい…

vimproc.vim に vimproc#cmd#system が実装された

vim

さて、先日書いた Windows で system の高速化なのですが、これが vimproc.vim に取り込まれました。 この機能を使用したい場合は vimproc#system ではなくて vimproc#cmd#system を使用する必要があります。 とりあえず、簡単に速度を比較してみました。 […

unite.vim で特定の kind の action に対して別の action を設定する

vim

記事は書いていたけど投稿するの忘れてたてへぺろ(・ω さて、例えば unite-file でファイルを選択している時に t を押したらtabopen ではなくて tabdrop でファイルを開きたい場合があると思います。 この場合、unite#custom#alias を使用すれば特定の kind …

Qt5 を使用して C++ で Webサイトのスクリーンショットを保存する

C++

なんか簡単に出来そうな感じがしたのでやってみました。 [ソース] #include <QtWidgets/QApplication> #include <QtGui/QPixmap> #include <QtWebKitWidgets/QWebView> #include <QtWebKitWidgets/QWebFrame> #include <iostream> int main(int argc, char* argv[]){ QApplication app(argc, argv); QWebView view; view.load(QUrl("https://www.google.c…</iostream></qtwebkitwidgets/qwebframe></qtwebkitwidgets/qwebview></qtgui/qpixmap></qtwidgets/qapplication>

Vim で特定のキーがマッピングされているかどうかを判定する

vim

覚書。 どう判定するのかいいのかと思ったけど maparg() を使用するのが手っ取り早そう。 [ソース] nnoremap hoge :echo "hoge"<CR> imap <A-h> hoge nmap <A-l> <Nop> echo "---------" echo maparg("hoge") echo maparg("<A-h>", "i") echo maparg("<A-l>") echo "---------" echo !empt</a-l></a-h></nop></a-l></a-h></cr>…

Vim でコンテキストによって filetype を自動的に切り換えるプラグインをつくっている

vim

この記事は Vim Advent Calendar 2012 194日目の記事になります。 例えば、html では <script type="text/javascript"> console.log("Hello, JavaScript") </script> 例えば、markdown では ```vim echo "hello, vim" ``` ```ruby echo "hello, ruby" ``` 例えば、Vim では python << EOF print map(s…

Windows の Vim で system() を高速化してみた

vim

Windows の Vim では system() が遅いと言われている(?)んですがそれを vimproc を使用して高速化してみました。 まだ簡易版なんですが system() と比べてだいたい 3〜15倍ほど早くなりました。 [ソース] let s:cmd = {} function! s:cmd.open() let cmd …

第14回C++オンライン読書会を行いました

C++

第14回 C++オンライン読書会 その場で読む資料を決めて読もうと思っていたんですが、個々で面白そうな C++Now! 2013 の資料を読みあさっていました。 いくつか気になる資料があったので次回はその中から読む資料を決めて読みたいと思います。 個人的には『Dy…

textobj-context をつくった

vim

この記事は Vim Advent Calendar 2012 191日目の記事になります。 少し前になるんですが、Shougo さんと共同で context_filetype.vim というプラグインを作成しました。 Shougo/context_filetype.vim - github これは何をするプラグインかというと python <<…

本日20:00〜から C++オンライン読書会を行います

C++

本日20:00〜から C++オンライン読書会を行います。 今日読む資料は C++Now 2013 の資料の中からその場で決める予定です。 気になる方や参加されたい方は 20時頃に lingr-cpp 部屋までお越しください。

YouCompleteMe を msvc でビルドしてエラーになった場合の対処方法

vim

手元だと2箇所、変更する必要があったので覚書。 修正箇所は 2013/06/07 現在のものを対象としています。 1.IdentifierUtils.cpp の 169行目でエラー ここで型変換に失敗しているぽいので下記のようなコードに修正。 fs::path path( matches[ 2 ].str() ); 2…

Vim で高速にコード補完を行うらしい YouCompleteMe を試してみた

vim

少し前から気になってはいたんですが、ちょっと試してみました。 Valloric/YouCompleteMe - github これは何かというと Vim で高速に動作する補完プラグインです。 どこら辺が高速かというと殆どの処理が Vim script ではなくて C++ と Python で実装されて…

Vim で URLのタイトルをバルーンで表示するプラグインつくった

vim

この記事は Vim Advent Calendar 2012 186日目の記事になります。 ふと思いついたので書いてみました。 まぁ既に似たようなプラグインが存在するかも知れませんが気にせずに記事にします。 Vim の balloon-eval については以前 id:tyru さんが VAC で記事に…

Qt でコンパイル時に OS ごとに処理を切り分ける

vim

Qt では次のようにしてプリプロセス時に処理を切り分けることが出来ます。 [ソース] #include <QtCore/qglobal.h> #include <iostream> int main(){ #ifdef Q_OS_WIN32 std::cout << "Windows OS" << std::endl; #elif Q_OS_MAC std::cout << "Mac OS" << std::endl; #else std::cout << </iostream></qtcore/qglobal.h>…

Vim script で URL からタイトルを取得

vim

ちょっと欲しかったので webapi.vim を使用して簡単に書いてみた。 [ソース] function! s:get_title(url) let body = webapi#http#get(a:url).content let enc = matchstr(body, 'charset=\zs[^"'']*\ze["'']') if empty(enc) let enc = matchstr(body, 'cha…