タグ

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

  • README.mdをVimのヘルプファイルから生成する - cafegale(LeafCage備忘録)

    この記事はVim Advent Calendar 2012の341日目の記事です。 前回(84日前)Vimプラグインのスクリプトファイルからヘルプファイルを生成するというのをやりました。 Vimプラグインのヘルプドキュメントを自動生成する - cafegale しかしGitHubではREADME.mdファイルがリポジトリの窓口であり、説明であり、これによってそのプラグインの概要を知り、それを導入するかどうかが判断されます。 README.mdを置いていないとプラグインの詳細を知るためには、リポジトリトップから2クリックもかかるdoc/xxx.txtを見に行かなければいけませんし、リポジトリトップにはGitHubがREADME.mdを置けと勧めてきます。 つまり我々はREADME.mdを書くことを暗に強いられているのです。 しかし、すでにhelpに概要含め色々書いているのにさらに別の場所で二

    README.mdをVimのヘルプファイルから生成する - cafegale(LeafCage備忘録)
  • 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備忘録)
  • setglobalの話 - cafegale(LeafCage備忘録)

    thinca たしかに、それを考慮すると、setglobal 使った方がいいですね :help :setglobal バッファ/ウィンドウについてローカルなオプションに対して: コマンド     グローバルな値    ローカルな値 ~ :set オプション=値 設定される        設定される :setlocal オプション=値 なし        設定される :setglobal オプション=値 設定される        なし :set オプション?     なし        表示される :setlocal オプション?     なし        表示される :setglobal オプション?     表示される        なし http://lingr.com/room/vim/archives/2014/11/29#message-20730758 s_of_p これだけ

    setglobalの話 - cafegale(LeafCage備忘録)
  • 俺が見たいのはメッセージの最後なんだ!:messagesを便利にするVimプラグイン - cafegale(LeafCage備忘録)

    Vim Advent Calendar 2012 330日目の記事です。 Vimでエラーが発生した時にメッセージが表示されます。 そのメッセージを後から確認したい場合は:messagesでメッセージ履歴を表示します。 しかし:messagesにはVimが起動してからのメッセージが蓄積されているので、長時間起動しているとメッセージが長くなってしまい、最後の方にある目当てのメッセージを表示するためにスクロールさせるのが苦痛になってきます。 知りたいのはエラーが発生してからのメッセージ数行だけでいいのに、200のメッセージをスクロールしなければいけないかもしれないのです。 見ることのできるメッセージ数は、tiny バージョンでは20に、それ以外のバージョン では200に固定されている。 (:help :messagesより引用) このメッセージは蓄積される数を変更することも出来ないし、消去するこ

    俺が見たいのはメッセージの最後なんだ!:messagesを便利にするVimプラグイン - cafegale(LeafCage備忘録)
  • yankround.vim をビジュアルモードにも対応させました - cafegale(LeafCage備忘録)

    ヴィジュアルモードでもyankroundを使いたい · Issue #10 · LeafCage/yankround.vim xmap p <Plug>(yankround-p) xmap gp <Plug>(yankround-gp) 以上のようなマッピングを定義することで、ビジュアルモードでの p でビジュアル選択している部分と、レジスタの内容を置き換えることが出来ます(ここまでは Vim のデフォルトの挙動と同じです)。 <Plug>(yankround-prev) <Plug>(yankround-next) で貼り付けたテキストを置き換えられます。 ところで、yankround は、貼り付け操作を :execute 'normal! p' で行っていますが、ビジュアルモードから yankround の関数を呼ばれたときにはビジュアルモードが解除されているので、ビジュアルモードに再

    yankround.vim をビジュアルモードにも対応させました - cafegale(LeafCage備忘録)
  • GVimのハイライトで使える色名を色見本付きで一覧するunite-source-gvimrgb - cafegale(LeafCage備忘録)

    この記事は Vim Advent Calendar 2012 299日目の記事です。 GVimで:highlightコマンドのguifg=guibg=引数に渡すことが出来る色名を一覧するunite-sourceを作りました。 $VIMRUNTIMEディレクトリの、rgb.txtの中にある色名リストを元にしています。:h rgb.txt LeafCage/unite-gvimrgb 実行にはunite.vimが必要です。 Shougo/unite.vim 実行すると以下のように、色がuniteで一覧されます。 :Unite gvimrgb GVimにはかなりの色名が用意されているのが分かります。(AntiqueWhite2とかPeachPuff1とかいうのが色名になります) ハイライトの色を何にするかで困ったときに、ここからよく選んでいます。 例えば、Gray{数字}はGray0が黒でこの数

    GVimのハイライトで使える色名を色見本付きで一覧するunite-source-gvimrgb - cafegale(LeafCage備忘録)
  • コマンドラインからシームレスにover.vimの全体置き換えを使う - cafegale(LeafCage備忘録)

    私は今まで:sについて以下の設定をしていた。 cnoreabb <expr>s getcmdtype()==':' && getcmdline()=~'^s' ? '%s/<C-r>=Eat_whitespace(''\s\\|;\\|:'')<CR>' : 's' function! Eat_whitespace(pat) "{{{ let c = nr2char(getchar(0)) if c=~a:pat return '' elseif c=~'\r' return '' end return c endfunction "}}} こうしておくと、コマンドラインでsと打ってから<Space>キーで %s/ という具合に展開されていたので、全体置き換えをするときに打ちにくい % を打たなくて済むという利点があった。 そんな折、osyo-manga/vim-over がリリースされた

    コマンドラインからシームレスにover.vimの全体置き換えを使う - cafegale(LeafCage備忘録)
  • 折り畳み嫌いの男が一夜でFolding freakにまでなった話2 - cafegale(LeafCage備忘録)

    この記事はVim Advent Calendar 2012の144日目の記事です。前日はujihisaさんによる動画Gitのログをいい感じに読むGitLogViewerを用いてneosnippetやneocomplcacheの更新を追うなどする (vim's podcast)でした。 ごぶさたしておりますVimmerのみなさまいかがお過ごしでしょうか。 さて、1年と4カ月ほど前に、折り畳み嫌いの男が一夜でFolding freakにまでなった話と言う記事があったのを覚えているでしょうか。 その当時は私はVimの折りたたみを使い始めたばかりでした。 その後、設定は洗練され、その時作ったプラグインもアップデートされましたので、再びご紹介しようと思います。 foldCC 一昨年、Vim Advent Carendarのために作ったプラグインです。 折りたたみの見た目を変更します。(こんなふうに)

    折り畳み嫌いの男が一夜でFolding freakにまでなった話2 - cafegale(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