Vim Advent Calendar 2013 11日目です。昨日は @alpaca_taichou さんのNeoComplete vs YouCompleteMe | アルパカエンジニアのブログでした。
わたしはNeoCompleteだけでした……、C言語系余り書かないので(〃l _ l)。。
今日は小ネタです。去年はVim で音楽を作ったりしましたが、n人目的な小ネタです。
folding (折り畳み)
折り畳み使ってますか。別に使わなくて好いんですけど……。
例へば (「例へば」と「喩へば」を使ひ分ける構へ)
setl fdm=marker
とすると、
{{{ }}}
で囲んだ部分を折り畳めます。module毎にfileを分けてない場合とか便利です(ヽ´。ω、゜)
// {{{!dubug // }}}!dubug
とか
// {{{!ie6 // }}}!ie6
とか云ふ使い方も見た事有ります。此れは或る古いJavaScript libraryの、build toolで取り除く用の何かでした。
:h foldmethod
や:h fold-commands
を参照。
indentをoutlineの代わりに
其んなに長くない文書ですけれども、sectionが沢山分かれてて、然も三段位い入れ子に成ってゐて、Markdownで読み書きするのは限界でした (因みにMarkdownのpreviewはvim-quickrun-markdown-gfmを使ひます)。縦に長く成り過ぎて全体をざっと見れない!! markerか! markerとか使はなきゃいけないのか…><!!
outline editorが欲しいなあ、って(〃l _ l) 大昔にはFirebirdをbackendに使ふoutline editor (今見つからない) を使ってゐたことも有りました。末子成功譚を逆転させた小説を書いたりしてました。Firebirdって知ってます(〃l _ l)?? 大人気のopen source RDBMSですよ。私は今はPostgreSQLを使ひたいのですけど。
其のoutline editor、他よりマシだったけど、まあ使ひ難かった [つかいにくかった]。今だったらVim使ひたいじゃないですか。Vim。Vim使ひませうよ。Vimですよヰ゛ム。
うるさいな……(〃l _ l) わかったよ、folding使へよ(〃l _ l)っ[Vim]
setl fdm=indent
としておくと、indent単位で折り畳めるやうに成ります。mode lineにでも書いておくと好いよ。vim:set fdm=indent:
plain text fileが見栄え通りに折り畳めるよ! やったねさっちゃん!
ぬいぐるみは可愛いので、ぶら下げとくと邪推されますよ(〃l _ l)
Vimでoutlineを使う方法は幾つか有ると思いますが、此所ではindent levelをsectionにする事ができました。
indentを纏めて編集する方法も欲しく成ります。できます。kanaさんのkana/vim-textobj-indentが使へます。
NeoBundle 'kana/vim-textobj-indent', { \ 'depends': ['kana/vim-textobj-user'] \ }
神。defaultでは<Plug>(textobj-indent-a)
と<Plug>(textobj-indent-i)
がiに、<Plug>(textobj-indent-same-a)
と<Plug>(textobj-indent-same-i)
がIに割り振られてゐます。diI
とかできます。
:h objects
と:h textobj-indent
を参照。
後はvim-parteditも使へます。此れは文書の、一部丈を独立したbufferで編集できます。yii:Partedit
とかできます。
Unite-outline sourceを書けば其っちも使へるやうに成るのかなあ……。
因みにさっちゃんのdotfilesは此所です。