2013-01-01から1年間の記事一覧

submode.vim で特定の条件の時だけ submode に入る

Vim Advent Calendar 2013 の 23 日目の記事です。今年も Advent Calendar の季節がやってきましたね。 問題 submode.vim で submode を定義する際、トリガーとなるキーを押したときに特定の条件であった場合だけ submode に入りたい場合があります。 今回は…

本当にキモい Vim script - . 演算子編

Vim Advent Calendar 2012 の 362 日目の記事です。 Vim Advent Calendar 2012 も残すところあと4日ですね。寂しいものです。 今回は前回やったキモいシリーズの第2回。 突然だけど、以下の関数はどのような挙動をするだろうか。 function! s:func(time) let…

VimConf 2013 が開催されました

記事を書くのが遅くなりましたが、2013年11月16日、VimConf 2013 が開催されました。 私は今回、発表したくなかったのでスタッフという立場で関わらさせていただきました。色々勉強になりました。 さて、固いのは抜きにして、いつものゆるい感想書きまーす。…

本当にキモい Vim script - 正規表現編

Vim Advent Calendar 2012 の 339 日目の記事です。先日、Lingr で :s コマンドの引数をパースする方法についての話になりました。 :s はご存知の通り、置換コマンドです。 :[range]s[ubstitute]/{pattern}/{string}/[flags] [count]今回 [range] と [count]…

GamePM#13 に行ってきた

GamePM#13 にお邪魔してきました。実に1年半ぶり!今回は LT までの時間が全て田口さんの発表で、元々予定されていたタイムテーブルをブチ抜いて再構成した上でのワークショップなどでした。すごい。 ワークショップ「プランニングポーカー」 - @masahirotag…

momonga.vim #2 に行ってきた

momonga.vim #2 に行ってきた。 昼食 開始が13時だったので、始まる前に現地でお昼を食べることに。一人で食べるのもアレなので、一緒に食べる人を適当に募ったところ、5人で一緒に食べることに。実際に現地に着いてみると、たまたま早めに来ていた daisuzu …

Git で変更されたファイルを簡単に無視する設定

git

管理下に置かれてるんだけどなぜか無駄に変更されてしまうファイルというのがたまにあって、まあ管理方法見直せという話もあるんだけど、それも叶わない場合、そういうのは無視したい。 その方法についてはこの記事が詳しいのだけど、私はこれを以下のように…

空間を飛び越えろ!portal.vim を作りました

Vim Advent Calendar 2012 の 239 日目の記事です。みなさんは Portal と言うゲームをご存知でしょうか。 ポータルガンと呼ばれるアイテムを駆使して仕掛けを突破しながら脱出を目指すアクションパズルゲームです。ゲームの細かい説明ははぶきますが、とても…

quickfix を便利に使う設定

Vim Advent Calendar 2012 の 220 日目の記事です。 最近の Vim Advent Calendar は子供が生まれたり結婚したりで大変めでたいことが続いていますね。良いことです。みなさんも Vim Advent Calendar で執筆すれば御利益があるかもしれませんよ? あ、ちなみに…

TokyoVim#15 に行ってきた

いつものごとく TokyoVim#15 に行ってきた。 今回はおやつどうしようかと思って、同じなのも芸がない*1なぁと別のにしようかと思ったのだけど、たまたまミスドでドーナツ100円のセールをやっていたので、前回同様ドーナツ買ってった。 芸がないけど今100円で…

ゲームコミュニティサミット2013に行ってきた

週末の土曜日に開催されたゲームコミュニティサミット 2013に行ってきたよ! 去年は150人〜200人くらいだったのに対し、今年は300枚のチケットがほぼ捌けたらしい。すごい。 私は全体的に技術寄りのものや知り合いがいる講演を回った。ではいつも通りつらつ…

Copy.com を Linux から使う

最近 Copy って言う Dropbox 系のサービスを使い始めた。Sync, protect, and share your files - A simple cloud solution to manage business and personal storage.最初からいきなり15GB、招待コードから登録すると +5GB の 20GB から使い始められ、誰かを…

Boost.勉強会 #11 に行ってきた

Boost.勉強会 #11 に行ってきた。しょうこりもなく役に立たない感想をつらつら書くよ。 C++ポケットリファレンスについて 著者の方々が出てきてC++ポケットリファレンスの紹介。通称鈍器。 日本語で初のC++11対応とのことで必見。休み時間に各所でサイン会な…

Vim で C# を書くなら OmniSharp で決まり!

Vim Advent Calendar 2012 の 173 日目の記事です。今回は C# を書くのに便利な OmniSharp と言うツールを紹介します。これさえあれば、エディタとしての Visual Studio はもう必要ありません! 経緯 (興味ない人はここは飛ばしてインストールのところから読…

同一視されるキーに注意

Vim Advent Calendar 2012 の 164 日目の記事です。Vim は元々端末で動作していたソフトウェアで、それ故のキー周りに関する制限がいくつかあります。端末版の Vim を使うのであればある程度は仕方のないことですが、いくつかの制限は gVim にも残っています…

Ruby で Haskell や Clojure の iterate

欲しかったので探したけど見つからなかったので書いてみた。 def iterate(init, &block) Enumerator.new do |y| loop do y << init init = block.call(init) end end end p iterate(1, &:succ).take(10) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]ブロックを渡してい…

意外と知られていない diff に関する機能

Vim Advent Calendar 2012 の 147 日目の記事です。137 日目の tyru さんの記事で、Vim の diff 機能について紹介がありました。この記事ではもう少し細かい diff の機能について紹介したいと思います。 :diffthis 比較したい対象がファイルではない場合、例…

TokyoVim#14 に行ってきた

TokyoVim#14 に行ってきたよ。 今回はおやつにミスドでドーナツを買っていった。 ミスドでドーナツ買っていきます。 #TokyoVim2013-04-20 11:29:05 via twiccaドーナツも含めて、チョコレートやら飴やらカントリーマアムやら、今回はおやつが充実しすぎてて…

カラースキームを作ってみよう

Vim Advent Calendar 2012 の 131 日目の記事です。毎日のように Vim を使っているみなさんは、恐らくお気に入りのカラースキームがあったりすると思います。中には一部が気に食わなくて改造してみたり、更にはすでに自作している方もいるかもしれません。 …

マージ済みのブランチを消す

git

こんな設定してます。今のところ master 専用。 [alias] sweep-branch = !git branch --delete $(git branch --merged master | grep -v '^*\\| master$')

Vim を起動したときに Vim Girl に会いたい!

Vim Advent Calendar 2012 の 122 日目の記事です。 122日目と言うことで全体(365日)の1/3を突破しました。まだまだこれからですね。 さて、100日目のIMAGEDRIVEさんの記事で、Vim Girl のイラストが公開され、あちこちで好評のようです。Vim Advent Calenda…

C# のソートでハマった話

C#(mono 2.10.9) で、特定の値を先頭に持ってきつつソート、というのをしようとした。 こんな感じかなー。 var list = new List<int>{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int t = 5; // 5 を先頭に持って行きたい list.Sort((a, b) => { if (a == t) return -1; if </int>…

TokyoVim#13 に行ってきた

TokyoVim#13 に行ってきた。 今回の参加者は10名と結構多め。いいですね。今回、と言うか最近は毎回なのだけど、自宅にあるサーバに接続してそこで作業している。ここが開発の母艦になっているので、ここで直接作業すると後で作業結果を反映する必要がないの…

clever-f.vim を魔改造した話

Vim Advent Calendar 2012 の 89 日目の記事です。昨年、clever-f.vim と言うプラグインが rhysd(@Linda_pp) さんからリリースされました。https://github.com/rhysd/clever-f.vimどんなプラグインかと言うと、f が便利になるプラグインです。 Vim の f はみ…

Live Coding で painter.vim(仮) 作った

Vim Advent Calendar 2012 の 81 日目の記事です。 先日 Yokohama.vim #4 で Live Coding をしたわけですが、今回はその成果について紹介したいと思います。 以下がその時作った painter.vim(仮) です。Vim を使ってマウスでお絵描きできるプラグインです。h…

Yokohama.vim.reverse #4 に行ってきた

Yokohama.vim.reverse #4 に行ってきたよ。 なんで reverse なのかは、↑のイベントページとか前回のguyonさんのレポート記事の最後の方を見てもらえるとわかります。 pre懇親会 で、reverseと言うことでまずは懇親会から。 気になるpre懇親会の結果は…やって…

vital.vim に Text.Ltsv モジュールを追加した

vim

表題どおり、LTSVデータをパースしたりダンプしたりする Text.Ltsv モジュールを追加しました。 本体コードを書き上げた時点でとっくの昔にmattnさんが書いてたことに気付いたのだけど、書いてしまったもんはしょーがないので上げておきます。何より、gistじ…

submode.vim とその設定例なんかを紹介

vim

Vim Advent Calendar 2012 の 62 日目の記事です。私が毎日のようにお世話になっているプラグインの1つに、kana さん作の submode.vim と言うのがあります。結構昔からあり、かなり便利なのにあまり知られていないような気がします。これはもったいない!と…

neosnippet#expandable() の仕様が変わってた

vim

最近 neosnippet.vim で展開したあとうまくジャンプできなくて、あれーと思って調べたら neosnippet#expandable() の仕様が変わってた。 以前はジャンプできるかのチェックも内部で行われて、数値で状態のチェックができたのだけど、純粋に展開可能かどうか…