タグ

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

  • Vim 駅伝、始動します - 永遠に未完成

    これは Vim 駅伝 の 1 目の記事です。 Vim 駅伝は、駅伝でタスキを繋ぐように Vim に関する記事を参加者で順番に書いていくイベントです。 発端 2023 年 2 月 6 日、vim-jp 内で Advent Calendar が話題に上がりました。 Advent Calendar は 12 月の 1 日から 25 日まで毎日参加者がトピックに関する記事を書いていくイベントです。 この時期になると大量の Advent Calendar が立てられ、それぞれのトピックで毎日記事が公開されます。 12 月に集中して大量の記事が公開され、お祭りのようなイベントとして毎年盛り上がります。 同じテーマの Advent Calendar がいくつも併走していることに対して、私が以下のような発言をしました。 見ての通り、「わかる」のリアクションがたくさん付きました。同じように感じている人は結

    Vim 駅伝、始動します - 永遠に未完成
    mattn
    mattn 2023/03/01
  • VimConf 2018 で Bram Moolenaar さんと会った話 - 永遠に未完成

    2018年11月24日に VimConf 2018 が開催されてから、早いものでもう 2 週間経った。 2 週間経ってしまった…。2 週間…早い…。 このままだと私の VimConf が終わらないので、正直何を書けばいいのかわからないのだけど、なんか書こうと思う。 VimConf 2018 前日 今年の VimConf は色んな意味で、忘れられないものになった。 2018 年 11 月 23 日。若干の発熱により、私は寝込んでいた。翌日には VimConf が控えていると言うのに、ここに来てまさかの風邪…。 幸いにも辛さはほぼなく、微熱が主な症状。一日中寝て過ごすことになったわけだけど、この間にも様々なことを考えた。 症状がひどくなったら VimConf は欠席せざるを得ない。私は当日にするべきタスクを持っていなかった*1ので、最悪私がいなくてもイベントの開催には支障がない。とは言え半年以

    VimConf 2018 で Bram Moolenaar さんと会った話 - 永遠に未完成
    mattn
    mattn 2018/12/08
    いい話
  • VimConf 2017 を振り返る - 永遠に未完成

    VimConf 2017 に、スタッフとして参加したので、その簡単に振り返りなどを。この内容はあくまで個人的なものであり、運営チームとしての見解ではありません。 今年の VimConf の立ち上げ 例年の VimConf に参加してくれていた人ならわかると思いますが、今年の VimConf は規模が去年までとは違い、かなり大きくなりました。 そもそも今年の VimConf の企画立ち上げ当初、我々には課題がありました。VimConf では将来的に Bram さんを招待したいと謳っているのですが、昨年までのペースではとてもではないけどそれは実現できないだろう、ということです。これを達成するためには、VimConf は大きく変わる必要がありました。 規模を大きくするには多くの壁があります。多くの人が入る会場を確保し、資金を調達する必要があります。会場を大きくしたとして、人が集まるかどうかはわか

    VimConf 2017 を振り返る - 永遠に未完成
    mattn
    mattn 2017/11/09
  • Vim 8.0 Advent Calendar - 永遠に未完成

    この記事は 2016 年 12 月に Qiita 上で行われた Vim 8.0 Advent Calendar を 1 つにまとめたものです。 目次 前書き Vim 8.0 Advent Calendar 1 日目 関数機能の強化 Partials ラムダ クロージャ 2種類の関数参照 Vim 8.0 Advent Calendar 2 日目 チャンネル チャンネルを使う チャンネルのモード その他のメッセージの読み書きの方法 ch_sendexpr() ch_sendraw() ch_read() ch_readraw() ch_evalexpr() ch_evalraw() Vim 8.0 Advent Calendar 3 日目 ジョブ ジョブを使う ジョブのオプション モード 標準入出力の接続先 コールバック その他 ジョブを制御する ジョブを停止する ジョブの状態や情報を得る V

    Vim 8.0 Advent Calendar - 永遠に未完成
    mattn
    mattn 2016/12/31
  • 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 に行ってきた - 永遠に未完成
    mattn
    mattn 2016/11/07
  • ssh 越しにクリップボード共有したり URL 開いたりする lemonade の便利設定 - 永遠に未完成

    私は普段は Windows マシンから自宅サーバの Linux に ssh で接続して作業しており、端末内で作業が完結している間はいいのだけど、Web ブラウザはローカル側なので、URL を開いたりクリップボードのやりとりなどが面倒。 そこで便利なのが lemonade! GitHub - lemonade-command/lemonade: Lemonade is a remote utility tool. (copy, paste and open browser) over TCP. ssh 越しから URL を飛ばしてローカルでブラウザを開いたり、リモート側からローカルのクリップボードの読み書きができる。便利。 lemonade を使う上であれこれやったのでメモ。 port forwarding lemonade 作者の pocke さんはローカルマシン内で動いている仮想環境との

    ssh 越しにクリップボード共有したり URL 開いたりする lemonade の便利設定 - 永遠に未完成
    mattn
    mattn 2016/10/25
  • Software Desing 2016年5月号の Vim 特集記事に寄稿しました - 永遠に未完成

    技術評論社から発売される Software Design 2016年5月号 の第1特集「Vim[実践]投入」に寄稿しました。 gihyo.jp 全5章の構成で、5人の Vimmer が1人1章を担当する豪華な内容になっています。 書いたこと 私は第2章「Vim だからできる、一歩先行く編集術」を担当しました。 今回の特集は、4月から新社会人になった方々をメインターゲットに、入門者向けの内容になっています。 その中でも第2章では、Vim ならではの機能について紹介しました。 この記事を見て、多くあるエディタの中から Vim を選ぶ意義について感じてもらえれば幸いです。 書けなかったこと 今回、これから Vim を使い始める人達を対象に記事を書くということで、help の引き方についての解説を入れたかったのですが、紙面の都合上叶いませんでした。 Vim を使っていくにあたって、help を引く

    Software Desing 2016年5月号の Vim 特集記事に寄稿しました - 永遠に未完成
    mattn
    mattn 2016/04/14
  • 全角スペースを可視化するプラグイン zenspace.vim を作った - 永遠に未完成

    プログラミングをしていると、混ざっていると困る全角スペース。 可視化するように設定を書いている人も多いんじゃないでしょうか。 実際ググると、全角スペースを表示するための設定がたくさん出てきます。私も vimrc に設定書いてました。 でもこれ…みんなやってるなら、もうプラグインでよくない? ってことでプラグインにしました。 zenspace.vim - Show Ideographic Space (a.k.a. Zenkaku Space). https://github.com/thinca/vim-zenspace 全角スペースを表示するためだけのプラグインです。(画像内のタブの表示は 'listchars' によるもの) デフォルトでは 'list' オプションの値に連動して、可視/不可視を切り替えます。なので、'list' オプションをオンにしてください。 set list 'l

    mattn
    mattn 2016/02/14
  • 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 系の関数の紹介 - 永遠に未完成
    mattn
    mattn 2015/12/03
  • OmniSharp.vim のメンテナになりました - 永遠に未完成

    https://github.com/OmniSharp/omnisharp-vim 顔アイコンの中にマンボウアイコンを潜り込ませることに成功しました。壮観ですね。 問題の報告や機能要望などは私に直接言ってもらっても大丈夫です。日語でOK。サーバ絡みだと対応は難しいかもしれないですが、善処します。 GitHub の Issue の方は世界中の人が見ているので、あちらに書く場合は英語でお願いします。

    OmniSharp.vim のメンテナになりました - 永遠に未完成
    mattn
    mattn 2015/03/07
    進化するthinca
  • 無料で使える CI サービス 8 個まとめ - 永遠に未完成

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

    無料で使える CI サービス 8 個まとめ - 永遠に未完成
    mattn
    mattn 2015/01/12
  • 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 について言っておきたいこと - 永遠に未完成
    mattn
    mattn 2014/12/25
  • Vim script テクニックバイブルが発売されました - 永遠に未完成

    先週の 8/6(水) に、私も執筆に参加した Vim scriptテクニックバイブル 〜Vim使いの魔法の杖(Amazon) が発売されました。中にはもうすでに購入して読んだ、という方もいると思います。ありがとうございます。 読んだ人ならわかるかと思いますが、このは入門書です。書内の読者へのコメントにも書きましたが、応用的な内容や、Vim の全ての機能が紹介されているわけではありません。なので、すでに Vim のプラグインをバリバリ書いて公開しているような人には、物足りない内容だったと思います。 これは逆に言えば、初心者に向けて丁寧に書かれているということでもあります。Vim をもっと便利に使いたいけど、Vim script とか触ったことないし…というあなたこそ対象読者です。入口のとっかかりとしてはとても良いになったんじゃないかと思います。 最後にプラグイン作りに関するアドバイスを

    Vim script テクニックバイブルが発売されました - 永遠に未完成
    mattn
    mattn 2014/08/10
  • momonga.vim #5 に行ってきた - 永遠に未完成

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

    momonga.vim #5 に行ってきた - 永遠に未完成
    mattn
    mattn 2014/07/27
    サイゼリア好きやなw
  • momonga.vim #4 に行ってきた - 永遠に未完成

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

    momonga.vim #4 に行ってきた - 永遠に未完成
    mattn
    mattn 2014/06/09
    サイゼリヤに13人のVimmer… こわい
  • threes.vim 作った - 永遠に未完成

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

    threes.vim 作った - 永遠に未完成
    mattn
    mattn 2014/03/17
  • 本当にキモい 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 - 正規表現編 - 永遠に未完成
    mattn
    mattn 2013/11/10
  • Boost.勉強会 #11 に行ってきた - 永遠に未完成

    Boost.勉強会 #11 に行ってきた。しょうこりもなく役に立たない感想をつらつら書くよ。 C++ポケットリファレンスについて 著者の方々が出てきてC++ポケットリファレンスの紹介。通称鈍器。 日語で初のC++11対応とのことで必見。休み時間に各所でサイン会などが行われていた。 Boostライブラリ一周の旅 - @cpp_akira 資料: http://www.slideshare.net/faithandbrave/boost-tour-1530 過去のを合わせた資料: http://www.slideshare.net/faithandbrave/boost-tour-1530-merge 1.51.0 から 1.53.0 の差分のお話。 Atomic Lockfree Coroutine Multiprecision Odeint ライブラリで Coroutine が実装できて

    Boost.勉強会 #11 に行ってきた - 永遠に未完成
    mattn
    mattn 2013/06/02
    たむろする Vimmer
  • Vim で C# を書くなら OmniSharp で決まり! - 永遠に未完成

    Vim Advent Calendar 2012 の 173 日目の記事です。 今回は C# を書くのに便利な OmniSharp と言うツールを紹介します。これさえあれば、エディタとしての Visual Studio はもう必要ありません! 経緯 (興味ない人はここは飛ばしてインストールのところから読むと良いです) 先日、OmniSharp なるものの存在を教えてもらいました。 @thinca これってでどうなんでしょう URL 2013-05-09 23:47:26 via YoruFukurou to @thinca @mizchi お、面白そうですね!私は知らなかったです。明日あたり見てみますー。ありがとうございます。 2013-05-09 23:51:36 via tweetvim to @mizchi と言うわけで調査してみることにしました。 様々な罠にかかりつつ、ソースコード

    mattn
    mattn 2013/05/23
    日本人Vimmer達の畳み掛ける様なpull req怖い
  • 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]ブロックを渡している関係上引数の順序が逆だけど気にしない。 と言うか、すごく便利なのに当に標準でないのか? 私が見つけられてないだけってことは…。Rubyist の皆さんは普段どうしているのだろう。

    Ruby で Haskell や Clojure の iterate - 永遠に未完成
    mattn
    mattn 2013/05/09