2014-05-01から1ヶ月間の記事一覧

Google Vimscript Style Guide

vim

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

Ruby で \( じゃない場合に ( を \ でエスケープする

某ももんがさんに教えてもらったので覚書。 結果的に以下のような正規表現になるらしい。 puts "() aa (((() \() \\()".gsub(/(? \() aa \(\(\(\() \() \() 正規表現の否定戻り読みとかあまりよくわかっていないので使っていきたい。 参照 http://d.hatena.n…

vimhelp を少し改良した

先日公開した vimhelp のサイトですが公開してから意見もらって少し改良しました。 permlink を変更した permlink を http://vim-help-jp.herokuapp.com/?search=indent から http://vim-help-jp.herokuapp.com/#indent のように hash でアクセスできるよう…

Vim Advent Calendar 2013 179日目: 任意のコマンドを実行する operator をつくった

vim

この記事は Vim Advent Calendar 2013 179日目の記事になります。 今日の担当だった某ももんがさんはスタドリを飲むのに忙しいので代わりにわたしが(大嘘。 関連::help する Vim の operator かいた <Vim Advent Calendar 2013> - pockestrap 上記の記事を読んでいて『任意のコマンド</vim>…

vimshell で特定のコマンドを実行したあとに insert を抜ける

vim

以前はコマンドを実行したあとはすべて normal に戻るようにしていたんですが、今は insert のままになるようにして vimshell を使用しています。 これは連続してコマンドを実行したい場合に insert のままの方が便利だと感じたからです しかし、それでも実…

Vim Advent Calendar 2013 177日目: Web から素早く :help するサイトつくった

vim

この記事は Vim Advent Calendar 2013 177日目の記事になります。 さて、Web から :help できるサイトをつくりました。 いつでもどこでも :help する - Vim :help 元々は Lingr から :help する為の bot として運用していたんですが、それをブラウザから行え…

ローカル環境とサーバ環境で動作させる Procfile を変える

Web

以前書いた、sinatra の LiveReload 環境の記事を整える記事なんですが、あの記事では Procfile に追記して foreman で guard も一緒に動作させるようにしていました。 [Procfile] guard: bundle exec guard -i web: bundle exec ruby app.rb -p 5000 しかし…

Vim Advent Calendar 2013 175日目: 横幅が統一ではない矩形をヤンクしたり削除したりするプラグインをつくった

vim

この記事は Vim Advent Calendar 2013 175日目の記事になります。 さて、以前、矩形なオブジェクトを対象とする textobj をつくりました。 Vim Advent Calendar 2013 107日目: Vim で矩形なオブジェクトを対象とする為の textobj を書いた - C++でゲームプロ…

vim-expand-region を使ってみた

vim

gcmt/wildfire.vim の類似プラグインである terryma/vim-expand-region を使ってみた。 [設定] NeoBundle "terryma/vim-expand-region" " キーマッピング map <CR> <Plug>(expand_region_expand) map <C-CR> <Plug>(expand_region_shrink) " テキストオブジェクト " 値に1が設定さ</plug></c-cr></plug></cr>…

C++ における X(){} と X() = default; の違い

C++

Lingr の C++ 部屋で struct X{ X(){} }; と struct X{ X() = default; }; との違いはなんだろう、みたいな話で盛り上がっていたので覚書。 結論からいうと以下のような感じらしい。 http://lingr.com/room/cpp/archives/#message-19090582 要は X(){} はコ…

wildfire.vim を入れてみた

vim

やってみたいことがあったので、少し前に話題になっていた wildfire.vim を入れてみた。 [設定] NeoBundle "gcmt/wildfire.vim" let g:wildfire_fuel_map = "<CR>" let g:wildfire_water_map = "<C-CR>" let g:wildfire_objects = ["i'", 'i"', "i)", "i]", "i}", "ip"</c-cr></cr>…

sinatra + guard + foreman + chrome で LiveReload 環境を整える

sinatra + guard + foreman + chrome で LiveReload するための環境を簡単にまとめてみました。 [必要なもの] gem foreman sinatra guard chrome Chrome Web Store - LiveReload ブラウザのリロードは Chrome の LiveReload を使用します。 1.適当なディレ…

Vim Advent Calendar 2013 170日目: vim-operator-alignta つくった

vim

この記事は Vim Advent Calendar 2013 170日目の記事になります。 Vim Advent Calendar 書きたい人募集中です。 興味のある方は気軽にご参加ください。 operator から vim-alignta を呼び出したかったので簡単につくってみた [プラグイン] kana/vim-operator…

dropbox にやられた。

ローカル環境の問題で 1ヶ月ぐらい前から dropbox の同期を止めていたんですが、今日、久々に同期した結果… はい、ローカルの dorpbox のデータが最後に同期した 1ヶ月前に巻き戻っていました。 dropbox に保存していた vimrc も自作の Vim プラグインも for…

Vim でタブ文字の色を変更する

vim

というような話題が Lingr で出ていたので。 [ソース] augroup set-tab-highlight autocmd! autocmd ColorScheme,GUIEnter * highlight SpecialKey guibg=NONE guifg=Red augroup END タブ文字のハイライトは SpecialKey に設定すればよいみたい。 ただ、Spe…

Vim Advent Calendar 2013 167日目: 任意の正規表現パターンにマッチする textobj を書いた

vim

[追記] 指摘されて初めて気づいたんですが textobj が operator になっていたので修正しました…。 素で間違えて恥ずかしい。 この記事は Vim Advent Calendar 2013 167日目の記事になります。 Vim Advent Calendar 書きたい人募集中です。 興味のある方は気…

関数ポインタに対応した make_overload を書いてみた

C++

書いてみた。 C++11 でも動作するはず。 [ソース] #include <functional> template<typename ...Args> struct overload; template<typename T> struct overload<T> : T{ using T::operator(); template<typename TT> overload(TT t) : T(t){} }; template<typename T, typename U, typename ...Args> struct overload<T, U, Args...> : T , ov…</t,></typename></typename></t></typename></typename></functional>

lambda の make_overload の話題

C++

C++ Truths: Fun with Lambdas: C++14 Style (part 2) ここに書かれている Overloaded Lambdas ですが、Lingr で『clang だと動作するけど gcc だと動作しないんだよねー』と話題になっていんたんですが、Twitter でも話題になっていたみたいですね。 Overlo…

5月24日 21時から 第6回 Vim プラグイン読書会を行います

vim

実は先週土曜日の予定だったんですが管理者が全員寝過ごすというおおぽかをやらかしたのでしれっと延期しました 5月24日 21時から 第6回 Vim プラグイン読書会を行います。 読むプラグインは以下の通り。 日時: 2014/05/24 Sat 21:00 - 場所: LingrのVim部屋…

Vim Advent Calendar 2013 163日目: :NeoBundle 'Shougo/neobundle.vim' してはいけない

vim

この記事は Vim Advent Calendar 2013 163日目の記事になります。 今日から Vim Advent Calendar 2013 を再開します。 興味のある方は気軽にご参加ください。さて、 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = …

indentLine と precious.vim を組みわせる

vim

コンテキストによって動的に filetype を変更を行う precious.vim なんですが、indentLine と相性が悪く、filetype が切り替わるたびに indentLine のハイライトが消されてしまいます。 これを回避する場合は以下のようにして precious.vim が filetype を切…

indentLine が便利

vim

Yggdroot/indentLine indentLine で見やすいインデントを — yukimemi's blog インデントはタブ文字派なのであんまり興味はなかったんですが、最近 haml をインデントスペース2で書いているので入れてみました。 なかなかに見やすくなって便利。 [設定] let g…

Vim Advent Calendar 2013 の今後について

vim

散々煽っておいてすっかりと間が空いてしまってすみません。 意見くださった方ありがとうございました。 『続けてほしい』という意見や『不定期って Advent Calendar としてどうなの』みたいな意見もあっていろいろと悩んでいたらいつの間にか時間が…。 わた…

Atom のソースコードが公開

『github が開発しているテキストエディタ』ということで少し前から話題になっていたんですが、ソースコードが公開されたらしいです。 Atom atom/atom - github 米GitHub、テキストエディタ「Atom」をオープンソース化 | SourceForge.JP Magazine クローズド…

indentLine を使っている時に 1行が長くて重い場合の対処方法

vim

最近 indentLine を入れてみたんですがなかなかよい感じで結構気にいっています。 Yggdroot/indentLine そんな中、Lingr の Vim 部屋で『1行が長いと indentLine が重い』みたいな話が出ていて確かに jQueryのmin とか開くとめちゃくちゃ重くなりました。 […

Vim の古い正規表現エンジンではまった

vim

Lingr で他の人に試してもらって気づいたんですが、 echo "\<BS>" =~ "\<BS>" のように一部の特殊キー同士を比較した場合に古い正規表現エンジンが 0 を返すのに対して NFA エンジンだと 1 を返すみたい。 以外にも や なんかも同様。 (逆に や は問題なかった。 古</bs></bs>…

KaoriYa 版 Vim 7.4.272 がリリース

vim

Vim 7.4.274 (2014/05/04版) 配信 — KaoriYa 以前も書きましたが 7.4.260〜265 から大文字、もしくは g: + 大文字から始まらない関数(g:foo() や b:Foo() など)はエラーになるようになったのでご注意ください。 ちなみにわたしの使っていたプラグインで『b…

neosnippet.vim でヤンクした HTML を Haml で展開する

HTML から Haml への変換は quickrun.vim を利用しているのですが、どうせヤンクした HTML を Haml に変換するので neosnippet.vim で展開するようにしてみました。 [スニペット] snippet html2haml options word `system("html2haml -s", getreg(v:register…

TweetVim で URL のタイトルを展開してツイートする

vim

最近書いてみてみたけどなかなかに便利だった。 これと同じように neosnippet で URL を展開してツイートする事ができます。 [スクリプト] " vimrc 等にグローバル関数として用意しておく function! WebPageTitle(url) if a:url !~ '^https\?:\/\/.*$' retur…

git add を取り消す

Git

最近は直接コマンドを叩いて git を操作しているんですが git add の取り消し方法がわからなくてはまったので覚書。 add したファイルを取り消す場合は git reset HEAD を使います。 $ git reset HEAD hoge.txt あとから気づいたけど git status に載ってい…