今回はvimプラグインについて
多くの人が知っているだろうけど、僕はvimmerではないので、勉強しつつ、、、、、あくまでメモです
vimrcはつぎはぎだらけだけど何とか理解しようということで記録に残しておきます
まずはsmartchr
NeoBundle "smartchr"
"smartchr
inoremap <buffer> <expr> - smartchr#loop(' - ', '-', '->')
inoremap <buffer> <expr> , smartchr#loop(', ', ',')
inoremap <buffer> <expr> = smartchr#loop('= ', ' == ', '=>')
inoremap <buffer> <expr> % smartchr#loop('%', '[% %]' )
NeoBundleを既に導入してればこれだけでOK
NeoBundleInstallでインストールしてファイルを開いてインサートモードで「-」「,」「=」「%」 を何度か入力すると順番に出力されます
内容は業務でPerlとCatalystを触っているので最後のはTemplateToolKit用
3行目の例だと
一回目:「 - 」
二回目:「-」
三回目:「->」
ちなみに4回目はループするので「 - 」
いつもファットアローとかアローとか結構面倒だとは思っていたのですが、これあれば結構楽になるんじゃないかな
ただこの入力ペーストモードで入力した時でも適用されるよう
なので配列の並びの最初の要素はショートカット自体の文字列にしたほうが良さそう
お次はoutline
ファイルのアウトラインを別窓で表示してくれるプラグイン
関数一覧とかそういうのが見れます
NeoBundle 'h1mesuke/unite-outline'
"unite outline
let g:unite_split_rule = 'botright'
noremap <silent> <Leader>uo <ESC>:Unite -no-quit -vertical -winwidth=40 outline<Return>
こちらもこれだけ
ショートカットを作りました。
「\uo」と入力するとアウトラインのウィンドウが出てきます、アウトラインを選んでエンターキーでその行に飛ぶことが出来ます。
オプションはそれぞれ
-no-quit
デフォルトは該当行にとんだ後アウトラインのウィンドウは消えてしまいますがこのオプションを設定することで消えずに残ります。
-vertical
ウィンドウの分割方法ですね、デフォルトは横分割なのでverticalで縦分割になります。
-winwidth=30
生成されるwindowのサイズ
これはピクセル数かな
最後にsnippet
NeoBundle 'Shougo/neosnippet'
let g:neocomplcache_snippets_dir = "~/.vim/snippets"
" for snippets
imap <expr><C-k> neocomplcache#sources#snippets_complete#expandable() ? "\<Plug>(neocomplcache_snippets_expand)" : "\<C-n>"
smap <C-k> <Plug>(neocomplcache_snippets_expand)
インサートモードでスニペットで定義した文字列を入力しCtrl+kを押すと定義された文章が展開されるというもの
殆どコピペだけど。。。。
.vim/snippets/以下にファイルタイプに合わせた***.snipファイルを用意
snippet test
code
code
インサートモードで「test」と入力しCtrl+kで
code
code
が展開されました
perlで関数名を展開するスニペットを登録してみました
snippet sub
sub ${1:func} {
my $self = shift;
return;
}
${1:***}
と入力することで展開後、「***」が選択された状態になっているので関数名が入力できるという状態になります。
便利!!!
${2:***}で複数も対応できるみたいだけどうまく行かなかったのでまた今度やってみる。。。
よく入力するものとか登録しとけば大分楽になりますね
どれも便利!今まで知らなかったなんて。。。。。
忙しさを言い訳にして全然勉強してなかったからもっとアンテナ張って色々探していかないとなーと思いつつ自己嫌悪。。。