タグ

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

  • master への push を禁止するローカル git hook の正しい書き方 - 永遠に未完成

    GitHub などで Pull Request ベースで開発をしていると、master には間違っても push したくないわけです。 GitHub 側には残念ながら master への push を禁止するような設定はできないので、仕方ないのでクライアント側の Hook で対応しようってことになり、この方法についてググるとこことかこことか、いくつか方法を紹介しているページが出てくるんですが、どれもやり方が間違っている*1ので、正しい方法を紹介。 何がまずいのか 上記に挙げた方法では、細かい部分は違ってたりするけど、git symbolic-ref HEAD を使って現在ブランチを見て、master だったら push を禁止する、という方法を取っている。 しかし、push はカレントブランチから行われるとは限らない。dev ブランチにいるときに git push origin maste

    master への push を禁止するローカル git hook の正しい書き方 - 永遠に未完成
    yk5656
    yk5656 2015/03/07
  • VimConf 2014 を開催しました - 永遠に未完成

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

    VimConf 2014 を開催しました - 永遠に未完成
    yk5656
    yk5656 2014/11/10
  • 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 環境でテストする - 永遠に未完成
    yk5656
    yk5656 2014/08/12
  • 本当にキモい Vim script - 行継続編 - 永遠に未完成

    Vim Advent Calendar 2013 の 49 日目の記事です。 Vim script は行指向、もっと言うとコマンド指向の言語です。そう言った点で、シェルスクリプトに近いです。 Vim script if hoge ==# "HUGA" " if コマンド " ↓echo コマンド echo 'hi' endif " endif コマンド シェルスクリプト if [ "$HOGE" = "HUGA" ] # if コマンド then # then コマンド echo hi # echo コマンド fi # fi コマンド シェルクリプトの if なんかは if コマンドとは呼ばないかもしれないですが、そういう風にも見れるということで。 さて、行指向と言っても、1行が長くなったら途中で折り返したいものです。 シェルスクリプトでは行末に \ があると、次の行は現在の行の継続行とみ

    本当にキモい Vim script - 行継続編 - 永遠に未完成
    yk5656
    yk5656 2014/01/19
  • 意外と知られていない diff に関する機能 - 永遠に未完成

    Vim Advent Calendar 2012 の 147 日目の記事です。 137 日目の tyru さんの記事で、Vim の diff 機能について紹介がありました。この記事ではもう少し細かい diff の機能について紹介したいと思います。 :diffthis 比較したい対象がファイルではない場合、例えば、外部からデータを無名バッファにコピーしてきた場合に、それらのバッファの diff を表示したいことがあります。この場合は、:diffsplit は使えません。 こういう場合は :diffthis を使います。diff を適用したいバッファでそれぞれ :diffthis をすると、実行したバッファ同士の差分を見ることができます。 これを利用した設定に、help で紹介されている :DiffOrig があります。(:help :DiffOrig) これは現在編集中のファイルと、最後に保

    意外と知られていない diff に関する機能 - 永遠に未完成
    yk5656
    yk5656 2013/04/26
  • submode.vim とその設定例なんかを紹介 - 永遠に未完成

    Vim Advent Calendar 2012 の 62 日目の記事です。 私が毎日のようにお世話になっているプラグインの1つに、kana さん作の submode.vim と言うのがあります。結構昔からあり、かなり便利なのにあまり知られていないような気がします。これはもったいない!と言うことで今回はこの submode.vim について書こうと思います。 submode.vim とは https://github.com/kana/vim-submode submode.vim は、ユーザが自由にサブモードを定義できるプラグインです。…と言っても何のことやらさっぱりですね。 Vim には、複数のキー、つまりキーシーケンスによって成立するコマンドがたくさんあります。例えば <C-w>+ は現在のウィンドウの高さを変更します。そして、この複数のキー入力が必要な割に、連続で入力したいコマンド

    submode.vim とその設定例なんかを紹介 - 永遠に未完成
    yk5656
    yk5656 2013/01/31
  • TokyoVim #7 に行ってきた - 永遠に未完成

    TokyoVim #7 に行ってひたすらもくもくしてきたよ。 最初は quickrun.vim のドキュメントの英訳の残りをやってリリース作業をしようかと思っていたのだけど、私の Gentoo 力の低さによってネットに繋ぐことができず、英語力も低い残念な私はあえなく英訳作業を断念するなどするのでした。無念。 しょうがないので適当に他のタスクを潰すなどしていた。 template.vim 以前以下のようなことを言われて、 やりたいのは@thincaさんのvim-templateでの多段テンプレート読み込み 2012-01-15 13:12:47 via TweetDeck どうしようかとずっと考えていたのだけど、template.vim って最低限の機能だけ提供してそれ以上のことは全然やらないんだよね。例えばファイル名の置換とかも標準では存在しない。 そういうのはロード後の hook で各自

    yk5656
    yk5656 2012/06/03
  • 1