タグ

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

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

    momonga.vim #2 に行ってきた。 昼 開始が13時だったので、始まる前に現地でお昼をべることに。一人でべるのもアレなので、一緒にべる人を適当に募ったところ、5人で一緒にべることに。実際に現地に着いてみると、たまたま早めに来ていた daisuzu さんと合流し、6人かと思いきや、電車を間違えて遅れることになってしまった Lindan さんが不参加で、結局5人でお昼しました。 どこでべるか決める前に会場の建物を確認しようと武蔵野プレイスへ行ってみたところ、オサレなカフェが建物内にあったので、そこでべてしまうことに。すぐ横に図書館が並んでいたりして、立地がすごかった。料理もおいしかった。武蔵野プレイスすごい。 編 会場は12人入りのところ、14人が参加。1人は折り畳みのイスを持参という荒技を使い座る場所を確保。後の1人は、途中交代しつつ床で作業するなどしていました

    momonga.vim #2 に行ってきた - 永遠に未完成
  • Git で変更されたファイルを簡単に無視する設定 - 永遠に未完成

    管理下に置かれてるんだけどなぜか無駄に変更されてしまうファイルというのがたまにあって、まあ管理方法見直せという話もあるんだけど、それも叶わない場合、そういうのは無視したい。 その方法についてはこの記事が詳しいのだけど、私はこれを以下のように alias 設定している。 [alias] ignore = update-index --assume-unchanged unignore = update-index --no-assume-unchanged ignored = !git ls-files -v | grep "^[a-z]"これで、 git ignore {file} ファイルを無視する git ignored 無視されたファイルの一覧を表示する git unignore {file} 無視されたファイルを元に戻す という風に直感的に扱えるので便利。

    Git で変更されたファイルを簡単に無視する設定 - 永遠に未完成
    hamaco
    hamaco 2013/09/30
  • quickfix を便利に使う設定 - 永遠に未完成

    Vim Advent Calendar 2012 の 220 日目の記事です。 最近の Vim Advent Calendar は子供が生まれたり結婚したりで大変めでたいことが続いていますね。良いことです。みなさんも Vim Advent Calendar で執筆すれば御利益があるかもしれませんよ? あ、ちなみに私はいつも通りです。特に変わったことはありません。 さて、今回は私が quickfix で行っている設定をいくつか晒してみたいと思います。 設定方法 quickfix ウィンドウは filetype=qf が設定されます。なので、filetype qf に対する ftplugin を書けばよいです。つまり、 ~/.vim/after/ftplugin/qf.vimもしくは ~/vimfiles/after/ftplugin/qf.vimこの辺りに設定を書いていきます。 p で pr

    quickfix を便利に使う設定 - 永遠に未完成
    hamaco
    hamaco 2013/08/06
  • 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 と言うわけで調査してみることにしました。 様々な罠にかかりつつ、ソースコード

    hamaco
    hamaco 2013/05/24
  • カラースキームを作ってみよう - 永遠に未完成

    Vim Advent Calendar 2012 の 131 日目の記事です。 毎日のように Vim を使っているみなさんは、恐らくお気に入りのカラースキームがあったりすると思います。中には一部が気にわなくて改造してみたり、更にはすでに自作している方もいるかもしれません。 今回は、「カラースキーム作ってみたいけど作り方がよくわからない><」「改造して使ってるけど実はよくわかってないんだよね…」といった方を対象に、カラースキームの作り方について簡単に説明してみようと思います。長くならないように、適時端折っていこうと思います。 始めに ぶっちゃけてしまうと、最初は既存のカラースキームを改造するところから入るのが楽です。真似して書くとだいたいそれっぽくなるものです。 この記事では 0 から作ることを想定して解説していきますが、チュートリアル的な内容と言うより知識的な解説になっているので、改造だ

    hamaco
    hamaco 2013/04/10
  • Vim を起動したときに Vim Girl に会いたい! - 永遠に未完成

    Vim Advent Calendar 2012 の 122 日目の記事です。 122日目と言うことで全体(365日)の1/3を突破しました。まだまだこれからですね。 さて、100日目のIMAGEDRIVEさんの記事で、Vim Girl のイラストが公開され、あちこちで好評のようです。Vim Advent Calendar 2012 のトップページを飾ることにもなりました。かわいいですね。 せっかくこんなにかわいいので、Vim の中でも Vim Girl ちゃんを拝みたいです。起動時に Vim Girl ちゃんが出向かえてくれれば最高です。が、しかし。Vim は画像が表示できないのです…しゅん。 しかししかし!画像が無理なら、文字で表現すればいいじゃない!ってことで、@shiwano さんが Vim Girl を AA 化してくれました!パチパチ! と、言うことは…あとは起動時にこれが表示

    Vim を起動したときに Vim Girl に会いたい! - 永遠に未完成
    hamaco
    hamaco 2013/04/01
  • 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 とその設定例なんかを紹介 - 永遠に未完成
    hamaco
    hamaco 2013/01/31
    タブ切り替えにsubmode.vim使ってみて微妙に困ってたのが解決しそうだ。
  • Sublime Text 2 のあの機能を使う - 永遠に未完成

    Vim Advent Calendar 2012 の 3 日目の記事です。 前回の kaoriya さんの記事でも触れられていましたが、Sublime Text 2、最近とても注目されていますね。私の周りにも使っている人をちらほらみかけます。 これだけ人気があるのだから、何か秘密があるはず。人気のある機能があるのではないか。その機能を Vim に移植できれば、Vim がもっと便利になるのではないだろうか。そう考えた私は、ちょっと調べてみることにしました。 色々便利な機能があるようですが、前回の minimap 然り、いくつかの機能はすでに移植が試みられているようです。そんな中今回は Sublime Text 2 の以下の機能に注目してみました。 このダイアログです。これは Sublime Text 2 を使っていると保存時に時折表示されるもののようで、この機能は無効にもできるようですが、有

    Sublime Text 2 のあの機能を使う - 永遠に未完成
    hamaco
    hamaco 2012/12/03
    これでもうSublime Text 2なんかなくても大丈夫だわー。 ウガンダの孤児院も幸せになるわー。
  • Vim script の変数のスコープについてのお話 - 永遠に未完成

    Vim の変数のスコープについて調べたら「わかってない」ということがわかった - sci このような記事を見かけた。具体的にどんなコードで試したのかわらないので具体的なアドバイスはできそうにないが、せっかくので Vim script の変数のスコープについて解説してみるよ。 どんなスコープがあるのか Vim の変数は変数名の接頭子によってスコープが決定します。 接頭子 スコープ g: グローバル b: 現在のバッファにローカル w: 現在のウィンドウにローカル t: 現在のタブページにローカル s: 現在のスクリプトファイルにローカル l: 関数ローカル v: 組み込み変数 接頭子を省略した場合は、 関数内だった場合は l: それ以外ならば g: になります。ただし、count などの一部の変数は互換性の関係で v:count のように組み込み変数として扱われてしまうので注意が必要です。

    Vim script の変数のスコープについてのお話 - 永遠に未完成
  • TokyoVim #7 に行ってきた - 永遠に未完成

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

  • yokohama.vim #3 に行ってきた - 永遠に未完成

    yokohama.vim #3行ってきました! いつも参加させていただくだけなので今回は自分も何かできればと思い発表するなどしました。 quickrun.vim の詳解 - thinca 資料 私の発表。資料作成が遅れてろくに練習もせずに当日の行きの電車の中で最終調整を行うというギリギリっぷりだったけど、なんとか形になってよかった。とは言え準備があんまりだったのでもし次に機会があればその時は準備はちゃんとしないとな…。 中身は quickrun.vim についてつらつらと解説。当は発表までに 0.6.0 出したかったのだけど、準備でそれどころじゃなかったorz ちなみにこれのためにプレゼンプラグインを作ってそれを使って発表したのだけど、それについてはまた今度書きます。追記: 書いた vi(m)を教える仕事をした話 - id:guyon 資料: Vi(m)を教えた話 新人がVimを使えるよ

    yokohama.vim #3 に行ってきた - 永遠に未完成
  • vimrc のどこが重いのかを調べるもう1つの方法 - 永遠に未完成

    何やら mattn さんがプラグインを書いたみたい。 Big Sky :: vimrcのどこが重いのかを調べられるプラグイン書いた。 どうやらvimrcの各行にreltimeで時間差を取るコードを埋め込んで実行することで計測している模様。 ところでVimには+profileって機能がある。これを使うとVim scriptの各行が何回実行されてどれくらい時間がかかったのか調べられる。+profileはHuge版Vimでのみ使える。 早速やってみる vimrc を計測したいのならコマンドラインから以下のようにする。 $ vim --cmd "profile start profile.txt" --cmd "profile file $HOME/.vimrc" +q && vim profile.txtprofile.txt に結果を吐き出すように設定してプロファイリングを開始し、.vimrc

    vimrc のどこが重いのかを調べるもう1つの方法 - 永遠に未完成
    hamaco
    hamaco 2012/03/16
  • $this-> をラクに入力する - 永遠に未完成

    PHP 書いてると、$this-> をよく書く割に Shift を 2 回も使わないといけなくてすごく書きづらい。 あまりに書きづらいので @ で $this-> を出すようにした。確か PHPer って @ は滅多なことがないと使わない*1んだよね。 " after/ftplugin/php.vim inoremap <buffer> @ $this-> これでよし。と言いたいところだけど、コメントの中で @return とか書くときに誤爆する。ので、コメント内と、ついでに文字列内では展開しないようにした。 " after/ftplugin/php.vim function! s:at() let syntax = synstack(line('.'), col('.')) let name = empty(syntax) ? '' : synIDattr(syntax[-1], "na

    $this-> をラクに入力する - 永遠に未完成
    hamaco
    hamaco 2012/02/08
  • スクリプトローカルな関数を手軽に呼び出す - 永遠に未完成

    この記事は Vim Advent Calendar 2011 の 28 日目の代打です。 急遽代打をやることになった*1けどネタが浮かばなかったので、適当に vimrc の中から便利かもしれない関数を晒すことにします。 スクリプトローカルな関数を呼び出したい Vim script を書いてると、スクリプトローカルな関数をコマンドラインモードから直接呼び出して挙動を確認したくなること、ないですか? デバッグで呼び出したい 既存プラグインを拡張したくなった 中身覗くの大好き なんか知らんけど急に呼び出したくなった まあそれなりにシチュエーションはあるかと思います。あることにします。 Vim script ではがんばればスクリプトローカルな関数を呼び出せますが、正直いちいちがんばりたくないです。 スクリプトローカルな関数を呼び出す関数 私の vimrc から抜粋した以下の関数を vimrc に書

    スクリプトローカルな関数を手軽に呼び出す - 永遠に未完成
    hamaco
    hamaco 2012/01/08
  • ユーザ定義コマンドのスコープ - 永遠に未完成

    問題: 以下のVim scriptを実行すると何が表示されるか。 command! -nargs=+ MyEcho echo <args> let g:var = 'global' function s:f() let l:var = 'local' MyEcho var endfunction call s:f() 答え: "local" そう。ユーザ定義コマンドは関数内で実行された場合そのローカル変数にアクセスできる。 では、以下の2つのVim scriptがあった場合、b.vim を実行すると何が表示されるか。 " a.vim let s:var = 'A' command! -nargs=+ MyEcho echo <args> " b.vim source a.vim let s:var = 'B' MyEcho s:var 答え: "A" スクリプトローカルな変数に関しては、コ

    ユーザ定義コマンドのスコープ - 永遠に未完成
    hamaco
    hamaco 2011/12/26
  • 簡単な unite の source の作り方 - 永遠に未完成

    と言うわけで、unite の source の作り方を紹介します。格的に作って配布したい場合は専用のファイルに書くのがいいのですが、今回は手軽に作ろう、ということで vimrc に書きます。そう。unite の source は vimrc でも書けます。 今回作るもの サンプルってことで、実用性とか無視して、lines という source を作ることにします。これは、現在のバッファの各行を候補とした source です。 source となるオブジェクトを用意する 当はオブジェクトなんて呼び方ではなくて辞書(Dictionary)なんだけど、この場合扱い的にもオブジェクトと呼んだ方がわかりやすいと思ったのであえてこう呼んでみます。 let s:unite_source = { \ 'name': 'lines', \ } 名前は必須です。他に指定できる属性については、:help u

    簡単な unite の source の作り方 - 永遠に未完成
    hamaco
    hamaco 2011/12/19
  • ujihisa.vim #2 に行ってきた - 永遠に未完成

    恐らく過去合わせて国内最大のVimイベント、ujihisa.vim #2 に行って来たよ。 私は完全にただの参加者のつもりで行ったんだけど、なぜか発表することに。どうしてこうなった。 まったく準備していなかったので、その場で editvar.vim って言うプラグイン作りました。詳細は後日。 基調講演はどれも感極まる内容でした!素晴らしい! 個々の発表の詳細は他の人が書いてくれると思うので割愛します。 個人的にはkaoriyaさんのお話が良かったですね。Vimの今後をちゃんと考えていきたい。 後はchoplinさんの "スタートVim script"。これでVim scriptを書く人が少しでも増えると嬉しい。 懇親会はおいしいピザを頂きながら色んな人とお話できた。貴重な時間でした。 これだけのイベントを主催してくれた ujihisa さん、並びに会場を提供して下さった mixi さん、そ

    ujihisa.vim #2 に行ってきた - 永遠に未完成
  • Vimスクリプト基礎文法最速マスター - 永遠に未完成

    流行ってるみたいなので遅ればせながら便乗。需要?何それおいしいの? Perl基礎文法最速マスター - サンプルコードによるPerl入門 - Perlプログラミングの基礎から応用まで Route 477(2010-01-25) PHP基礎文法最速マスター - Shin x blog Python基礎文法最速マスター - LazyLife@Diary VBA基礎文法最速マスター - いろいろ解析日記 Java基礎文法最速マスター - いろいろ解析日記 Bash基礎文法最速マスター - いろいろ解析日記 Haskell基礎文法最速マスター - think and error Brainf*ck基礎文法最速マスター - このブログは証明できない。 VBScript 基礎文法最速マスター - CX's VBScript Diary - VBScript グループ JavaScript基礎文法最速マス

    Vimスクリプト基礎文法最速マスター - 永遠に未完成
    hamaco
    hamaco 2011/11/07
  • yokahama.vim #2 に行ってきた - 永遠に未完成

    性懲りもなく yokohama.vim #2 に行ってきたよ。 @tsukkee さんの発表「キーマッピングを考える」(資料) 発表は Vim。さすがです。 キーマッピングのお話。こういう help に載っていないようなノウハウはもっと必要なんだろうなぁと感じた。 Shougo さんのフリートークコーナー Super Shougo Time 行楽の秋ということで、近くの書店へ Vim テクニックバイブルを買いに大勢で押し掛けた。 ちなみに私は完全に野次馬。 読書の秋ということで、みんなで Vim テクニックバイブルを読んでお気に入りの Tips を見つけて発表会をした。 グループ毎に発表とかすごく学生時代を思い出した。この感じすごく懐しい…。 Shougo さんサイン&握手会 長蛇の列。大人気ですね! 懇親会 人数少なめ? Vim やら Vimperator やら Ruby やら Gent

    yokahama.vim #2 に行ってきた - 永遠に未完成
  • logcat.vim 作った - 永遠に未完成

    logcat は、Android のログを出力するためのツール。実行すると接続した Android 端末のログをもりもり吐く。もちろんファイルに保存もできる。Android 開発のデバッグのお供だ。 で、このログなんだけど、ログは重要度でレベル分けされてて、標準の GUI のログビューアなんかでは色分けされて表示される。見やすい。 でも GUI だと検索もあまり柔軟にできないし、logcat コマンドはテキストで出力するわけなんだからテキストで見たいわけです。てか GUI のビューア立ち上げるとかめんどい。 そこで登場するのが logcat.vim。要は syntax ファイルです。 https://github.com/thinca/vim-logcat 機能 各種ログフォーマットに対応 brief process tag thread time long rawはない。てか無理。 フォ