vim
# go get github.com/mattn/jvgrepというコマンドを実行するにはThe Go Programming Languageが必要だった。 しかも$GOROOT $GOPATHという意味不明な環境変数を設定しなければいけなかった。さらに、それに使われているmahonia - Mahonia—a character-set co…
Vim - hjklマスターに薦める意外と便利な機能 - Qiita [キータ] の バッファを選択する際に、同時にリストを表示する nnoremap B :ls<CR>:b という設定を見て閃いた。 cnoreabb <expr>b getcmdtype()==':' && getcmdline()=='b' ? 'ls<CR>:b' : 'b' こうすればコマンドライ</cr></expr></cr>…
Shougo/neobundle.vim に ももんが流NeoBundle管理術 | かなりすごいブログ から機能が取り込まれneobundle#tap() neobundle#untap()が使えるようになりました。 新・ももんが流NeoBundle管理術(あたらしい) | かなりすごいブログ これを利用するとだいた…
私は今まで: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' </cr></c-r></expr>…
Vim Advent Calendar 2012 356日目の記事です。 バッファをバッファリストに登録したくないときがあります。 バッファリストに登録されていないバッファは:lsでは表示されず、:bnext :bpreviousでのバッファ切換の対象になりません。 また、Vim終了時に次回…
LeafCage ファイルの先頭でscriptencoding を書くのはどういった利点があるのでしょうか?今までscriptencodingを書いてこなかったのですが、書いておくとVimがencodingを調べることがなくなって読み込み速度がアップするのでしょうか? thinca マルチバイト…
この記事はVim Advent Calendar 2012の341日目の記事です。 前回(84日前)Vimプラグインのスクリプトファイルからヘルプファイルを生成するというのをやりました。 Vimプラグインのヘルプドキュメントを自動生成する - cafegale しかしGitHubではREADME.md…
t9md: if Check1() throw "ERROR" endifこういうチェックをいっぱいやる場合に Check1() && throw "ERROR" Check2() && throw "ERROR" をやりたんですが、出来ない。 http://lingr.com/room/vim/archives/2013/11/03#message-17268337 manga_osyo: function!…
manga_osyo echo 0 ==# "homu" => 1 になってつらぽよ… http://lingr.com/room/vim/archives/2013/11/03#message-17267099 Lindan リストで包んで,[0] ==# ["homu"] ならちゃんと型チェックされます(バッドノウハウ) http://lingr.com/room/vim/archives/…
WarningMsgを表示させてから新窓で開こうとしたら、新窓が開かれた後の画面更新でechoが消されてしまった。関数内で、順番を、[新窓を開く→:echo]の順にしても無駄。関数が終了して初めて画面更新が行われるので、それで:echoが消されてしまう。 しょうがな…
daisuzu/rainbowcyclone.vim t9md/vim-quickhl MultipleSearch - Highlight multiple searches at the same time, each with a different color. : vim online MultipleSearchは操作性的に論外
実際拡張を作ろうとすると、想像以上に自由がないことが分かる。 複数選択が出来ない(標準プラグインでは出来るのに) 入力パターンマッチの種類が少ない(前方一致が欲しい) ページ送り・戻し機能がないから画面にない候補を選択することが出来ない(何と…
Vimmerにハロウィンがアドベントしましたね。 Vim Advent Calendar 2012 335日目の記事です。 Vimのレジスタの履歴を取って再利用するプラグインにYankRing.vimというものがあります。間違えてp(テキストを貼り付け)してしまっても<C-p>で即座に履歴を遡(さか</c-p>…
Vim Advent Calendar 2012 333日目の記事です。alti.vimはctrlp.vim風の操作感を持つ入力インターフェイスです。 LeafCage/alti.vim もしもユーザに多少複雑めの入力を要求したい場合は、Vimの組み込み関数input()でそれを実現するのが苦しいことがあります…
Vim Advent Calendar 2012 330日目の記事です。Vimでエラーが発生した時にメッセージが表示されます。 そのメッセージを後から確認したい場合は:messagesでメッセージ履歴を表示します。 しかし:messagesにはVimが起動してからのメッセージが蓄積されている…
Vim Advent Calendar 2012 の325日目の記事です。 少し長めになりますので、お時間があるときにお読みください。Vimのステータスラインを改造するプラグインが、powerline、airlineに続いてlightlineが登場しました。 私は今までステータスラインやタブライ…
こういうのは無理。 スクリプトローカル関数のFuncrefはそのスクリプト内でのみしか有効でないから。 let s:ctrlp_ext_var let s:ctrlp_ext_var.accept = function('s:accept') グローバル関数や、オートロード関数を使おう。もしかしたらこういうことをした…
コマンドの引数を空白で分割(ただし「\」でエスケープされている空白を考慮) for arg in split(a:args, '\%(\\\@
ctrlp拡張を作ったら、最後にctrlpからid番号を取得してctrlpに登録することになるが、 このとき、ctrlpがNeoBundleLazy状態であるのなら、 command! CtrlPExtension call ctrlp#init(ctrlp#{extension-name}#id()) let s:id = g:ctrlp_builtins + len(g:ctr…
以下のautocmdをvimrcに定義しておくと、lightline.vimがctrlp.vimのステータスラインを上書きするのを防ぐことが出来ます。 autocmd CursorMoved ControlP let w:lightline = 0 [注意] このautocmdはplugin/lightline.vimが読まれるより先に定義されていな…
この記事は Vim Advent Calendar 2012 299日目の記事です。GVimで:highlightコマンドのguifg=guibg=引数に渡すことが出来る色名を一覧するunite-sourceを作りました。 $VIMRUNTIMEディレクトリの、rgb.txtの中にある色名リストを元にしています。:h rgb.txt …
この記事は Vim Advent Calendar 2012 286日目の記事です。:NeoBundleLazy に autoload機能が搭載されたのは、このAdventCalendarが始まって間もなくのことでした。 「立て!立つんだビムー!」 - sorry, unimplemented neobundle.vim の遅延処理で Vim の起…
vim処理速度調査(オートロード関数読み込み編) - LeafCage備忘録 ※この記事は全面的に誤っていたので修正されました。 そして、修正後の結果は極めて当然の話なので情報的価値がないです。ふとruntimeを用いてスクリプトを読み込む場合と、autoload関数呼…
続編→vim処理速度調査(オートロード関数読み込み編2) - LeafCage備忘録 以下の内容が書かれたファイルをautoload/speed1.vimとして置く。 function! speed1#nop() endfunction 同様に、autoload/speed1.vim、autoload/speed2.vim、...としてautoload/speed…
オートロード変数(型は辞書)の中身の関数を、変数未定義の状態でcallするとオートロードしない · Issue #460 · vim-jp/issues この問題はそれとして、現行の回避策として、以下の4通りの方法がある。 eval()で評価 type()で評価 :silent letで呼び出し :si…
理由はVimの実行速度が遅いから。 おそらく2000行の1つのスクリプトファイルを読み込むよりも、100行の2つのスクリプトを読み込むほうが速度が遅い。なぜなら、該当ファイルを探すのに結構な時間がかかるからである。(追記:その後、検証して、やはりautoloa…
この記事はVim Advent Calendar 2012 : ATND 257日目の記事です。 さらに追加された機能の記事を書きました。 README.mdをVimのヘルプファイルから生成する - cafegale 皆さんVimプラグインを作ったことはありますか? VACではプラグインを書いて公開するま…
この記事はVim Advent Calendar 2012 : ATND 245日目の記事です。Vim scriptは実行速度が遅いことで有名ですが、どこでどれくらい時間がかかっているのかを調べたい時があります。今回はVim scriptの実行時間を計測する方法をまとめました。 起動時間を調べ…
http://lingr.com/room/vim/archives/2013/07/27#message-16017813 mattn undolevel を一時的に 0 にすれば undo がまとまるというtips あんまり知られてないよね > undolevel=0 http://lingr.com/room/vim/archives/2013/07/27#message-16018089 全角スペー…