タグ

ブックマーク / thinca.hatenablog.com (46)

  • VimConf 2016 に行ってきた - 永遠に未完成

    VimConf 2016 に行ってきたよ! 以下、いつも通り雑に感想などを。 事前に残念な言い訳をすると、私は最後の発表だったので、直前まで資料の見直しなどをしながら発表を聞いていたので、一部ちゃんと聞けなかった。無念。あとで録画見よう。 開始 席が割と埋まる。出席率が高い。Vim への関心の高さが伺える。つまりそういうことだ。 Introduction to Vim 8.0 by Ken Takata 資料: http://www.slideshare.net/k-takata/introduction-to-vim-80 Vim 8.0 の紹介と、Vim の軌跡。 Vim 7.4 からずっと追ってきた身としては、いい振り返りの資料。 私が Vim を使い始めたのは、7.0 以降。7.2 からだったかな…ちゃんと覚えていない。 客観的に数字で見ても日人コントリビュータの皆さんは当にす

    VimConf 2016 に行ってきた - 永遠に未完成
    hamaco
    hamaco 2016/11/08
  • Vim に追加された assert 系の関数の紹介 - 永遠に未完成

    この記事は Vim script Advent Calendar 2015 の 3 日目の記事です。 はじめに 先月末に、Vim の組み込み関数に assert 系の関数が追加されました。 今回はこの関数について紹介します。 歴史 割とどうでもいいので読み飛ばし可です。 2015-11-29 Vim 7.4.944 assertEqual()、assertTrue()、assertFalse() が追加されました。また、一緒に使うための v:errors も追加されました。 しかし、関数名について苦情が多く出ました。 Vim script の組み込み関数の多くは、単語の区切りがなく1単語です。例えば deepcopy() や matchlist() などです。 一部の関数には _ が使われており、has_key() や complete_add() があります。 そして中には大文字を含む関

    Vim に追加された assert 系の関数の紹介 - 永遠に未完成
    hamaco
    hamaco 2015/12/03
  • VimConf 2015 に行ってきた - 永遠に未完成

    VimConf 2015 に行ってきた。 昨年は主催的ポジションからの参加だったのだけど、今年は割と一般参加的ポジションで、一応スタッフって枠にはなってたけど大したことはしてないし、ラクさせてもらいました。 というわけで各発表についての感想を雑につらつらと。 Vimのgitへの移行について - @kaoriya まさかのスライドなし発表すごすぎた。 GitHub 移行は外からだと割とすんなり決まった印象があったけど、やはり裏では色々あったんですね。 deoplete ~ The dark powered auto completion plugin for neovim ~ - @ShougoMatsu Shougo さんのバイタリティは相変わらずすごい。…すごい。 私はどのようにVim scriptを書くか? - @rbtnn Vim script 入門的な内容。これで Vim scri

    VimConf 2015 に行ってきた - 永遠に未完成
    hamaco
    hamaco 2015/11/27
  • イカリングを閲覧できる ikaring.vim を作った - 永遠に未完成

    Splatoon してますか? 日また大きめのアップデートが入って、まだまだ熱は冷めそうにないですね。 さて、この Splatoon 専用の SNS として、イカリングというサービスがあります。 イカリング: https://splatoon.nintendo.net/ フレンドのオンライン状態を確認できたり、フレンド内での週間ランキングが閲覧できたり、自分やフレンドの装備や各ブキの塗り面積が確認できたり、ステージのスケジュールを知ることができて、とても便利です。 とても便利なのでいつでも見れると嬉しいですね。 というわけで Vim から見れるようにしました。 https://github.com/thinca/vim-ikaring 使い方 :Ikaring コマンドを実行すると開始できます。 初回は、Nintendo Network ID とパスワードを訊かれるので入力します。 ログ

    イカリングを閲覧できる ikaring.vim を作った - 永遠に未完成
  • 無料で使える CI サービス 8 個まとめ - 永遠に未完成

    CI サービスをいくつか触ってみたのでまとめ。 今回の目的は、テストを実行すること。なので、ビルドやデプロイ辺りはちゃんとは見ていない。 ドキュメントで確認しただけの項目などもあったりするので、間違っていたらごめんなさい。教えてもらえると助かります。 ただ、これは記事を書いた時点での比較で、今後のサービスの変更に対応する予定はないです。 触ってみたサービス一覧 アルファベット順。 AppVeyor CircleCI Drone IO Magnum CI semaphore shippable Travis CI wercker codeship ってのもあったけど、無料プランは月100ビルドまでとかで常用には耐えないと感じたので中身見てない。 機能比較 機能比較は全て無料プランでのもの。有料だと対応している場合でもここでは x にしている。 比較項目は私の独断と偏見で適当に選出した。 項目

    無料で使える CI サービス 8 個まとめ - 永遠に未完成
    hamaco
    hamaco 2015/01/13
  • Google の Vim script Guide について言っておきたいこと - 永遠に未完成

    この記事は Vim Advent Calendar 2014 の 25 日目の記事です。 Google が、様々な言語に対する自社内でのスタイルガイドを公開しているのはご存知でしょうか。C++ のものや JavaScript のものなどがあり、この辺りは割と有名かと思います。 では、Vim script のものがあるのはご存知でしょうか? Google は、Vim script について、2 つのガイドを公開しています。 Google Vimscript Style Guide Google Vimscript Guide 前者がカジュアルユーザー向け、後者がヘビーユーザー向け、といった位置付けのようです。さすが、Google がまとめているだけあって、なかなかポイントを抑えています。 ただ、これはあくまで Google が社内向けに作ったもの。鵜呑みにしてはいけない、もしくは、一般の人が

    Google の Vim script Guide について言っておきたいこと - 永遠に未完成
    hamaco
    hamaco 2014/12/28
  • VimConf 2014 を開催しました - 永遠に未完成

    去る 2014年11月8日、VimConf 2014 を開催しました。 私は、主催、というわけでもないのだけど、会開催スタッフの中心人物的な感じで関わらせていただきました。 VimConf は当に多くの人の協力で成り立っています。私は今回、あちこちの人に色々お願いして回るのがメインで、みなさんの協力があって初めて開催することができました。 ボランティアスタッフとして手を挙げ、手伝ってくれた皆さん、発表者の皆さん、そして参加してくれた皆さん。当にありがとうございました! とまあ、固い話はこれくらいにして、以下、いつも通り雑に感想書いていくよ! Identity of the Vim - @kaoriya 資料: http://koron.github.io/vimconf-2014-koron/ Vim を使うなら色々やろう!と言う話。さすが kaoriya さん、いい話すぎて、最初か

    VimConf 2014 を開催しました - 永遠に未完成
  • Vim プラグインを Windows 環境でテストする - 永遠に未完成

    最近は専ら Vim script 向けテスティングフレームワーク themis.vim を作っているわけですが、テストを書いたら当然実行しないと意味がないわけです。 しかし手動でテストするのは面倒。そこで CI。設定しておけばリモートのリポジトリに push した時に自動でテストを走らせてくれます。 Linux 環境用の CI サービスはたくさんあるので、Travis CI なり drone.io なり自由に使えば良いと思います。便利。 しかし Vim はマルチプラットフォーム。当然 Windows 環境でもテストしたいですよね。と言うわけで Windows 環境で CI できるサービスと、そこで themis.vim を使ってテストを走らせる設定例を紹介します。全部無料でできます。 と言うわけで CI サービス AppVeyor を使います。 Continuous Integration

    Vim プラグインを Windows 環境でテストする - 永遠に未完成
    hamaco
    hamaco 2014/08/12
  • momonga.vim #6.1 に行ってきた - 永遠に未完成

    momonga.vim #6.1 に行ってもくもくしてきた。 momonga.vim の小数点回は、少人数によるももんが邸を会場にしたもくもく会。会場キャパの問題があるので、大体いつもほぼ決まったメンバーで行われることが多い。 今回は過去最長、だいたい32時間くらい滞在していた。すごい。 9日の13時前頃にももんが邸着。その後みんなでてんやでランチして、夜までもくもく。夜になったらイトーヨーカ堂地下のフードコートで長崎ちゃんぽん他などをディナーとしてべたあと、戻ってマスクメンなどして遊びつつ再びもくもく。途中vimrc読書会なんかも挟みつつ、夜は寝る人は寝たり寝ない人はがんばったりしつつ、朝になったらバーガーキングでブレクファストを取って、戻ったら更にもくもく。昼になったらゲーム音楽三昧が始まったのでそれを流しつつもくもく。3時頃に途中フードコートにランチのようなおやつのような軽(?)

    momonga.vim #6.1 に行ってきた - 永遠に未完成
  • momonga.vim #6 に行ってきた - 永遠に未完成

    momonga.vim #6 に行ってきたよ!初ドワンゴ! momonga.vim #6 β 会開始前に、数人で集まって会場近くのカフェでプレもくもく会などをした。電源が完備されており、とても便利だった。 会 規模は大きかったけど、島が分かれていることで、かなりいい感じになったのではないかと思う。これなら次回はもっと人数多くても行けそう…!? ただやはりというか、お話できない人がかなりいた。まあそういう会ではないので仕方ないんだけど。たまに自分の進捗を放棄して他の人の様子を見て回ったりしたくなるけど、自分の進捗が出ないのと、相手の邪魔になるんじゃないかという思いがあり、なかなか実行できない。この辺りバランスむずい…。魔法の言葉「進捗どうですか」はもっと使っていきたい。 成果 私は themis.vim の Version 1.1 を公開すべく、そのための作業、具体的には themis.

    momonga.vim #6 に行ってきた - 永遠に未完成
  • momonga.vim #5 に行ってきた - 永遠に未完成

    momonga.vim #5、行ってきました。 いつも通り早めの時間に @supermomonga さん宅に何人かで押し入り、一緒にバーガーキングでランチ。@aomoriringo さんがキングサイズのコーラを頼んでがんばってたけど結局飲みきれずに捨ててた。 今回はいつもとちょっと違っていて、いつもは会場にギリギリに着いてしまっていて、会場の前で待っていてくれている人達に悪いなぁ、と言うか特に初参加の人とかは不安にさせちゃうよねぇって話があったので、今回はいつもより早めに15分前に会場に付くように前もって時間を調整。悠々と会場に着いた。かなりいい感じだったのだけど、電源タップを持ってくるのを忘れていて、取りに戻っていたら結局時間通りに開始することはできなかった。無念。 そんなこんなでもくもく会開始。私は先月末に公開した themis.vim 関連のタスクをガリガリやっていた。元々急いで取り

    momonga.vim #5 に行ってきた - 永遠に未完成
  • Osaka.vim #1 に行ってきた - 永遠に未完成

    Osaka.vim #1 に行ってきたよ!初大阪! 直前にキャンセルが相次いでしまったけど、それでも 16 人もの Vimmer が参加。 京都の学生さん率が意外に高くて、京都の学生さんすごい。兵庫からの参加者もいました。関西圏の距離感よくわかってなかったんだけど、そこまで遠くないっぽい。私が Yokohama.vim に行くくらいの感じなのかな。遠方だと名古屋からの参加者も。すごい。 肝心のやったことなのだけど、まずは事前に告知していた通り、私がライブコーディングっぽいことをしました。 全体的に進行がグダグダだったのは申し分けない。事前にお題を考えている時には、他に案がなければ私の vimrc に書かれている、空バッファを自動的にメモ用のバッファをプラグイン化しようかなーと思っていたのだけど、これ用は vimrc の設定をほぼプラグイン化するだけだし、ライブコーディングじゃないだろーって

    Osaka.vim #1 に行ってきた - 永遠に未完成
    hamaco
    hamaco 2014/07/01
    デフォルトでカラオケオールなの怖い
  • momonga.vim #4 に行ってきた - 永遠に未完成

    momonga.vim #4 に行ってきたよ。 前回は午前中からだったけど、今回は午後から。会場の武蔵野プレイスはかなりの人気施設で、予約開始直後に予約がいっぱい入ってしまい、なかなか1日中は取れないらしい。 私は早めに行って、同じく早めに来た @aomoriringo さんや @rbtnn、主催の @supermomonga さんと一足先にヨーカドー地下のフードコートでランチ。 色々あってラーメンは避けようと思っていたんだけど、一通り見た結果ラーメンが一番おいしそうだったので結局ラーメンべることに…。 結果、こういう残念なことになった。 今週の昼まとめ:月曜: ラーメン火曜: 冷やし中華水曜: ラーメン木曜: 沖縄そば金曜: 冷麺土曜: ラーメン 2014-06-07 14:07:00 via tweetvim 編 それはそれとて会場に着いて、簡単に設営したら作業開始。私は、先日

    momonga.vim #4 に行ってきた - 永遠に未完成
  • Yokohama.vim #5 に行ってきた - 永遠に未完成

    Yokohama.vim #5 に行ってきたよ! Yokohama.vim は大体私が gu4 さんを焚き付けて開催されている感じなのだけど、今回は開催1週間前くらいで定員15人のところ5人くらいしか集まってなくて、しかもメンバーが常連の面々になっていたので、焚き付けた手前このままではまずいと思って宣伝しまくった結果、最終的に12人集まりました!良かった良かった。 で、当日、でかける準備に手間取っていたら、電車に乗り遅れて少し遅刻…着いた時にはすでに始まってた。不覚…。 ちなみに毎回 Yokohama.vim の会場になっているアットウェアさんが移転したらしく、今回は今までとは違う会場でした。 Vimで捗るRuby開発 資料: http://www.slideshare.net/srockstyle/ruby-on-vimyokohamavim VimRuby するお話。この資料は1

    Yokohama.vim #5 に行ってきた - 永遠に未完成
  • gf-user で gf の動作を拡張する - 永遠に未完成

    Vim Advent Calendar 2013 の 114 日目の記事です。 gf の問題について gf は、カーソル下のファイルを開く便利機能です。例えば、"foo.c" とバッファに書かれていた場合、ここにカーソルをのせて gf を押すと、foo.c を開いてくれます。更に gF を使うと、"foo.c:23" みたいになっていた場合に、foo.c の 23 行目を開いてくれるので、更に便利です。 便利なんですが、これ、Windows だとうまく動きません。なぜかと言うと、Windows では 'isfname' に : が含まれているから。 'isfname' は、ファイル名として認識する文字のセットを指定するオプションで、gf はこれを使ってカーソル位置のファイルを認識します。しかし Windows ではドライブレター(C:とか)の関係で : が isfname に含まれているた

    gf-user で gf の動作を拡張する - 永遠に未完成
    hamaco
    hamaco 2014/03/26
  • threes.vim 作った - 永遠に未完成

    Threes! と言うゲームがあります。 http://threesgame.com/ スマホで遊べるパズルゲームで、単純なのになかなかハマります。先日行った TokyoVim#17 で @kana1 さんもハマっていたので、これは Vim 業界で流行りそうな予感です。 なので、Vim で遊べるように threes.vim 作りました。最低限な感じですが、とりあえず遊べるようになったので公開します。 https://github.com/thinca/vim-threes ルールは公式サイトを見てみてください。 :ThreesStart コマンドを実行すると、こんな感じで始まります。 hjkl で数字を移動していって、大きい数字を作っていきます。ゲームオーバーになるとスコアが出ます。 3327 点でした。 こんな感じで遊べます。今後色付けたりしてもうちょっと遊びやすくしていきたいです。よか

    threes.vim 作った - 永遠に未完成
    hamaco
    hamaco 2014/03/18
    2048.vimとかでてくるのかな?
  • 本当にキモい Vim script - 型チェック編 - 永遠に未完成

    Vim Advent Calendar 2013 の 64 日目の記事です。 Vim script の変数には以下の型があります。 Number (数値) String (文字列) Float (浮動小数点数) List (リスト) Dictionary (辞書) Funcref (関数参照) このうち、String <=> Number 間と Number <=> Float 間では暗黙の型変換が行われます。 ある値が入っている変数に対して、暗黙の型変換が行われない別の型の値を代入しようとするとエラーになります。 " :help sticky-type-checking から抜粋 :let l = "string" :let l = 44 " 型が文字列から数値に変わる :let l = [1, 2, 3] " エラー! l はまだ数値である :let l = 4.4 " 型が数値から浮

    本当にキモい Vim script - 型チェック編 - 永遠に未完成
    hamaco
    hamaco 2014/02/03
  • submode.vim で特定の条件の時だけ submode に入る - 永遠に未完成

    Vim Advent Calendar 2013 の 23 日目の記事です。今年も Advent Calendar の季節がやってきましたね。 問題 submode.vim で submode を定義する際、トリガーとなるキーを押したときに特定の条件であった場合だけ submode に入りたい場合があります。 今回は yankround.vim と組み合わせた例を挙げます。yankround.vim は YankRing.vim のようにレジスタの履歴を順繰りに貼り付けてくれるプラグインです。 このプラグインを使った際に、p を連打すると順繰りに貼り付け、更にこの順繰りに貼り付けている間は n を押すと逆方向に貼り付けたいとします。 当然 submode の出番ですが、最初に1回だけ貼り付けた時には submode に入って欲しくありません。 解決 この場合、以下のようにします。*1 nm

    submode.vim で特定の条件の時だけ submode に入る - 永遠に未完成
  • VimConf 2013 が開催されました - 永遠に未完成

    記事を書くのが遅くなりましたが、2013年11月16日、VimConf 2013 が開催されました。 私は今回、発表したくなかったのでスタッフという立場で関わらさせていただきました。色々勉強になりました。 さて、固いのは抜きにして、いつものゆるい感想書きまーす。 How to suggest new features for Vim - @kaoriya 資料: http://koron.github.io/vimconf2013/ いつもお世話になってる香り屋さんの発表。 いつものようにリハーサルなしとのことで、すごい。 Vim に限らず応用の効く話で、今後意識していきたい。 あと溜まってるパッチの投稿期待。 Evil is Justice. - @esehara 資料: http://www.slideshare.net/esehara/evil-is-justice-1 Emacs

    VimConf 2013 が開催されました - 永遠に未完成
  • 本当にキモい Vim script - 正規表現編 - 永遠に未完成

    Vim Advent Calendar 2012 の 339 日目の記事です。 先日、Lingr で :s コマンドの引数をパースする方法についての話になりました。 :s はご存知の通り、置換コマンドです。 :[range]s[ubstitute]/{pattern}/{string}/[flags] [count]今回 [range] と [count] は無視するとして、それ以外の {pattern} と {string} と [flags]、あとはパターン内でエスケープされているかもしれない区切り文字(多くの場合は /) が何になるか知りたい。 結果的にできたのは以下のような正規表現です。 \v^s%[ubstitute]([\x00-\xff]&[^\\"|[:alnum:][:blank:]])(%(\\.|.){-})%(\1(%(\\.|.){-})%(\1([&cegiIn

    本当にキモい Vim script - 正規表現編 - 永遠に未完成
    hamaco
    hamaco 2013/11/04