タグ

ブックマーク / leafcage.hateblo.jp (7)

  • 副作用の少ないYankRing.vimみたいなのができました - cafegale(LeafCage備忘録)

    Vimmerにハロウィンがアドベントしましたね。 Vim Advent Calendar 2012 335日目の記事です。 Vimのレジスタの履歴を取って再利用するプラグインにYankRing.vimというものがあります。間違えてp(テキストを貼り付け)してしまっても<C-p>で即座に履歴を遡(さかのぼ)ってテキストを置き換えられます。とてもお手軽で、優れたインターフェイスです。 しかしながら副作用が多く、他のプラグインや設定と干渉してしまうという問題がありました。(重要なキーマッピングを軒並み置き換えてしまうのは勘弁してほしいです。) それを見かねたShougoさんはunite-source-history/yankというものを作ってくださいました。レジスタの履歴がunite.vimのインターフェイスで閲覧でき、操作できます。便利でしたが、YankRing.vimと比べると、お手軽さで劣

    副作用の少ないYankRing.vimみたいなのができました - cafegale(LeafCage備忘録)
    oppara
    oppara 2018/05/14
  • 半自動でNeoBundleLazy autoloadの設定をするプラグイン作りました - cafegale(LeafCage備忘録)

    この記事は Vim Advent Calendar 2012 286日目の記事です。 :NeoBundleLazy に autoload機能が搭載されたのは、このAdventCalendarが始まって間もなくのことでした。 「立て!立つんだビムー!」 - sorry, unimplemented neobundle.vim の遅延処理で Vim の起動を高速化する - C++ゲームプログラミング これはVimの鈍重な立ち上がりに喘いでいたプラグイン重層派が、Vim来の軽量な立ち上がりに立ち返り、スパルタンに対する反攻の狼煙を上げるかのように見えました。 しかしLazy autoloadを手に沸き上がる重装派に、恐るべき困難が待ち構えていたのです。 [設定がすごく面倒くさい] NeoBundleLazy設定の書式 NeoBundleLazy <リポジトリ名>, {'autoload':

    半自動でNeoBundleLazy autoloadの設定をするプラグイン作りました - cafegale(LeafCage備忘録)
    oppara
    oppara 2014/07/23
  • Vim scriptの実行時間を計測する7つの方法 - cafegale(LeafCage備忘録)

    この記事はVim Advent Calendar 2012 : ATND 245日目の記事です。 Vim scriptは実行速度が遅いことで有名ですが、どこでどれくらい時間がかかっているのかを調べたい時があります。今回はVim scriptの実行時間を計測する方法をまとめました。 起動時間を調べる 1. --startuptimeオプションを付けて起動する Big Sky :: vimmer必読!読み込みの遅いvimscriptを見つけ出す方法 $gvim --startuptime {ファイル名}Vim起動時に読み込んだスクリプトと、かかった時間をリストアップしたファイルを、ホームディレクトリに生成します。 起動時しか計測できないのと、結果がファイルに出力されるので(工夫をしない限りは)気軽に見られないということと、ファイルの見方がイマイチ分からないのが難点です(後述の:profileコ

    Vim scriptの実行時間を計測する7つの方法 - cafegale(LeafCage備忘録)
    oppara
    oppara 2014/07/18
  • statusline系プラグイン第4の刺客 vim-ezbar - cafegale(LeafCage備忘録)

    この記事はVim Advent Calendar 2013 40日目の記事です。 statuslineをモダンに改造するプラグインの系譜 Lokaltog/vim-powerline / Lokaltog/powerline bling/vim-airline itchyny/lightline.vim そして第4の刺客として、t9md/vim-ezbar が登場しました。 以下、特徴と利用法を解説します。 ※ezbarの仕様が変わりました。そのうちこの記事を書き直すかも [特徴] lightline.vimとの比較*1、細かく説明すると長くなるので簡潔に述べます。 利点: よりシンプルに設定を記述可能 文脈に合わせての色変更がやりやすい(gitのブランチがmasterでない時は色を変更するなど) 文脈に応じて表示する部品を削除できる(特定のプラグインを利用している時にはそれ用の部品以外は

    statusline系プラグイン第4の刺客 vim-ezbar - cafegale(LeafCage備忘録)
    oppara
    oppara 2014/01/12
  • lightline.vimをカスタマイズする - cafegale(LeafCage備忘録)

    Vim Advent Calendar 2012 の325日目の記事です。 少し長めになりますので、お時間があるときにお読みください。 Vimのステータスラインを改造するプラグインが、Lokaltog/powerlinebling/vim-airlineに続いてitchyny/lightline.vimが登場しました。 私は今までステータスラインやタブラインは自前で改造していましたが、モダンなラインも経験してみたかったので、導入することにしました。 (参考:VACのライン系の記事) 136日目 Vim - powerlineをいつ使う?今でしょ! 263日目 もぷろぐ: vim-airline に乗り換える5つの理由 265日目 vim-airline に自動的に Vim script ファイルが読み込まれる機能が実装された - C++ゲームプログラミング 288日目 色見スクリプト

    lightline.vimをカスタマイズする - cafegale(LeafCage備忘録)
    oppara
    oppara 2013/10/24
  • 'iskeyword'とは何なのか - cafegale(LeafCage備忘録)

    Vimには'iskeyword'というオプションがあり、バインドw b eなどでのカーソルの動きや* ^]でのジャンプの際の単語の認識に利用されている。 個人的にはw b eでのカーソル移動と* ^]でのキーワードジャンプは全く用途が違うので別のオプションに分けておいてほしいものだが。 カーソル移動の際は細かく動いてほしいが、キーワードジャンプの場合は大まかに認識してほしい。 それはともかくとして、オプションの説明にこんなものがある。 (MS-DOSとWin32でのVimの既定値: "@,48-57,_,128-167,224-235" それ以外のシステムでのVimの既定値: "@,48-57,_,192-255" Viの既定値: "@,48-57,_") C言語プログラムには "a-z,A-Z,48-57,_,.,-,>" が使えるだろう。 ヘルプファイルでは、このオプションは '*',

    'iskeyword'とは何なのか - cafegale(LeafCage備忘録)
    oppara
    oppara 2013/03/12
    'iskeyword'とは何なのか - LeafCage備忘録
  • 折り畳み嫌いの男が一夜でFolding freakにまでなった話 - cafegale(LeafCage備忘録)

    続編→折り畳み嫌いの男が一夜でFolding freakにまでなった話2 - cafegale Vim Advent Calendar 2011 23日目天皇誕生日担当は私@LeafCageです。 みなさん折り畳み(Fording)は使ってるでしょうか? 私は折り畳みが嫌いでした。 折り畳みがダメな理由は大きく2つあります。 見た目が悪い 操作性が悪い この2つをカイゼンして快適な折り畳み環境を構築することにします。 見た目のカイゼン まず、見た目についてです。 Vim標準の折り畳み表示はインデントが崩れる、最初の行の内容が分かりにくいということで直感的ではありません。 そこで折り畳みテキストを生成する関数を差し替えて、より自分に望ましいように表示を変えてしまいましょう。 標準ではset foldtext=foldtext()になっていますが、これを自分で用意した関数に差し替えます。 適用

    折り畳み嫌いの男が一夜でFolding freakにまでなった話 - cafegale(LeafCage備忘録)
  • 1