vim
Vim script plugin作成時において、ディレクトリをユーザに指定させる変数を用意する時に、 let g:foo_dir = '~/foo/bar/' これは良くない。 なぜなら、mkdir(expand(g:foo_dir), 'p')をするとエラーになるからである。 mkdir()に通すなら、実行時に末尾の「…
この記事は Vim Advent Calendar 2012 223日目の記事になります。 222日目はもぷりさんのもぷろぐ: あなたの Vim は もっと Smart に Input できるでした。 224日目は@BOXPさんのVimでClojureする時のあれこれ - はこのLINUXです。Vim scriptを作り続けてい…
この記事はVim Advent Calendar 2012の144日目の記事です。前日はujihisaさんによる動画Gitのログをいい感じに読むGitLogViewerを用いてneosnippetやneocomplcacheの更新を追うなどする (vim's podcast)でした。ごぶさたしておりますVimmerのみなさまいかが…
よく忘れるのでメモ :edit `=var` exe 'edit' varではない http://lingr.com/room/vim/archives/2013/03/04#message-14188875ただしwildignoreが適用されるので、結局exe使った方がいい。 くやしいのぅ。
折り畳みコマンドの中で、使えるか使えないか微妙な位置にあるバインドにzj zk (次の折り畳み・前の折り畳みへジャンプ)がある。 どの辺が微妙かというと、移動コマンドにやがあって、それで十分だからだ。 折り畳みのブラウジングに取り立ててzj zk を使う…
今のところ、 :redir @* してから、目当てのコマンドを実行し、最後に :redir END する方法しか知らない。 もう少し簡潔に出来る方法を知りたい。
Vimには'iskeyword'というオプションがあり、バインドw b eなどでのカーソルの動きや* ^]でのジャンプの際の単語の認識に利用されている。 個人的にはw b eでのカーソル移動と* ^]でのキーワードジャンプは全く用途が違うので別のオプションに分けておいてほ…
Vimのバインドzj zkで次の折り畳み、前の折り畳みにジャンプすることができるが、zjはまだ良いとして、zkは折り畳みの末尾にジャンプする。 これではもし移動先の折り畳みが折り畳まれていた場合、一体どこにジャンプしたのか分からない。 尻ではなく頭にジ…
kana/vim-arpeggio · GitHub は同時押しをサポートするプラグイン。 設定するには arpeggio#map()関数を使うか、Arpeggiomap コマンドを使う。 ただし、Arpeggiomapコマンドをvimrc内で使うためには、その前に以下の関数を呼ばなければいけない。 call arpeg…
Advent Calendar の時期なのにもかかわらず、平常エントリですよこんばんは。こんなん作った。 LeafCage/veek.vim · GitHub簡単に言うとデバッグの時に使う、変数とかechomsgみたいなもの。 以前、専用関数で記録するタイプの同じようなプラグインを作って大…
極論を言うとVimに対話性はほとんどないと思われます。Vimは「最初からやりたいことが明確である場合」には強力な道具が揃っています冒頭のKoRoNさんも「:global使って全体に繰り返し操作(.)すればだいたい事足りそう」と言っているように最終的なアウトプッ…
kana/vim-operator-replace はオペレータ選択した範囲をレジスタ文字列に置き換えるプラグイン。 一つ単語を別の単語に置き換える時に重宝するが、置き換えられる時に代わりに削除された文字列はレジスタには残らないという特徴がある。一方、ビジュアルモー…
(※この文章はバージョン0.1.0です。後に加筆修正される可能性があります。) Vimにはq{0-9a-zA-Z"}で開始して再びqを押すと終了し、@{0-9a-z".*=}で再生するRecordingという機能があります。これは連番の入力や複数行の整形などを行う時などに役立ちます。 Vi…
3つくらいVimの新しいプラグインを作りましたのですごく適当に紹介します。 詳細は各プラグインのヘルプファイルにて。 LeafCage/revolver.vim 新しくマークやレジスタを変更する度に古い内容を一つずつずらして記録し直したり、使う文字を一つずつずらして…
colは1から始まる インサートモードではcolはそのままカーソルの位置を表す aiue|oの場合(|がカーソル位置)、colは5である。ノーマルモードの場合 colはカーソル■の左辺を表す。 aiu■oの場合(eと■が重なっている)、colは4である
http://lingr.com/room/vim/archives/2012/07/15#message-10711008手順 vital.vim/autoload/vital/__latest__/以下にlclibディレクトリを作った lclib/以下にvital.vim のモジュールの作り方 - 永遠に未完成を参考になんか色々置いた vital.vim 近況 - 永遠…
lingrのログData.Listモジュールをインストールしたい :Vitalize $VIM/vimfiles/bundle/syster Data.Listlet s:Vital = vital#of('syster') let s:Vital_Data_List = g:syster_vital.import('Data.List') echo s:Vital_Data_List.uniq([1,2,3,4,3,2,1]) また…
以前作って頓挫したマークプラグインAltMarksの改良版です。 signを主体に使います。動作イメージ このようにファイルに数種類のsignを置くことが出来ます。 (ハイライトされているのがsign。) 想定シーン デバッグ時の目印や、プレゼン時の重要部分強調に…
VimScript書く人にしか意味がないです。ある時点の変数の値を記録して、変動の様子を調べるときに使います。 変数を覗き見するしょぼいことしかできません。 Step IntoとかStep OverとかStep Returnとかそんな高度なこと出来ません。 ていうか本当はデバッグ…
tyru/caw.vim scrooloose/nerdcommenter tomtom/tcomment_vim
'tabline' を活用しよう - 永遠に未完成 を見て、前々からやろうとしていたtablineの改修を、昨日終わらせた。 左に各タブ、右にカレントフォールディング、カレントディレクトリを表示。 set guioptions-=e "tablineを使う set tabline=%!MakeTabLine() fun…
続編→折り畳み嫌いの男が一夜でFolding freakにまでなった話2 - cafegale Vim Advent Calendar 2011 23日目天皇誕生日担当は私@LeafCageです。 みなさん折り畳み(Fording)は使ってるでしょうか? 私は折り畳みが嫌いでした。折り畳みがダメな理由は大きく2…
参考 Vim-users.jp - Hack #230: Markdown形式の文書を書く2 (quickrun0.5.0対応版)環境 WindowsXP sp3 今回はパーサに高速なkramdownを使うことにする。 RubyForge: kramdown: ファイルリスト 1.kramdown-0.13.3.gemをダウンロードする 2. gem install kram…
:colorschemeやUnite-colorschemeやGUIメニューでcolorschemeを変更したときに生じる不満 不満点 補完がしばしばvimデフォルトのショッキングピンク IMEがオンになるとカーソルの色を変更する設定がリセットされる ビジュアルモードの選択の色が気に入らない…
※追記:この問題は7.3.336で修正されているようです。 vim-jp » タグ検索でハングしていた問題が修正されました。私の環境では以下のプラグインをNeoBundleで管理すると日本語ヘルプが読めなくなります。 これらのプラグインの共通点は日本語ヘルプが充実し…
Vim#10にてneobundleが紹介されていた。 私はpathogenで満足していたので、特に必要性を感じなかったし、なんだかややこしそうだったので敬遠していたが、どうやらGitHubと連携できるようなので、これを機会に試してみることにした。今までのインストール/ア…
Windowsの場合 Lynx for Win32から「Lynx286rel4THjp.exe 日本語環境用設定版 インストーラ」をダウンロードして、適当なディレクトリにインストールする ここでのインストール場所ではLynxを使わないのでどこでもおk インストール完了後、一度Lynxを起動し…
LeafCage/accessories_in_Vim - GitHub :Unite buffer_deleted で動く。 g:unite_source_buffer_deleted_ignore_patternsリストに無視したいbufferを正規表現で指定する (初期値:['\[unite]','lingr-rooms','lingr-say','\[vimshell]']) 課題 vimを終了す…
個人的にこのやり方を使わない理由しかしはoperatorなので、ヴィジュアルモードでしか使わないのはもったいないです。 よって自分はヴィジュアルモード以外で>を使うことが多いのであまり使いません。 たとえば、textobj-indentをインストールしていれば >ii…
先日vimのレジスタが使いづらい事について嘆いていたが*1、 unite.vimの標準sourceにhistory/yankという、ヤンクされたテキストの履歴を取ってくれるものがあることに気付いた。これで、.vimrcに let g:unite_source_history_yank_enable =1 "history/yankの…