2016/10/18 20:37:34

neosnippet.vimでスニペットファイルを複数ファイルで管理する

Vim-editor_logo
目次(クリックするとジャンプします)
  • 1:スニペットが増えていく
  • 2:ファイルワケラレマス
  • 2.1:インクルード
  • 2.2:ディレクトリで管理可能
  • 3:まとめ

スニペットが増えていく

neosnippet.vimでPHPの標準関数とかPHPUnitのアサーションとかいろいろスニペットにしていたらphp.snipがめちゃくちゃ長くなり管理がまんどくさくなってきました。

ファイル分割ってできないものかと思っていたのですが、うまくPHPのファイルタイプに複数のスニペットファイルを割り当てる方法がわかりませんでした。

ファイルワケラレマス

やっぱりphp.snipに集約するしかないのかなと思っていました。 それでもいろんなスニペットファイルをGitHubで見ていたら、

include xxx.snip

というような記述が書いてあるスニペットファイルがありました。

ああぁぁぁぁぁぇぇ、インクルードできるのぉぉぉぉ?

インクルード

早速php.snipとは別にphpunit.snip(PHPUnit用)とphpfunc.snip(標準関数用)を分割したので、php.snipにてインクルード記述をしてみました。

include phpunit.snip
include phpfunc.snip

あれ?phpfunc.snipが動かない…。

インクルード記述がひとつなら問題なく動きますが、複数書くのはダメみたい。

ディレクトリで管理可能

そこでこの後に及んでneosnippet.vimのドキュメントをちゃんと読むと

こんな感じでディレクトリまるごとインクルードできることがわかりました。

include php/*

独自スニペットを使う場合は以下のような感じでディレクトリを指定しますが、

let g:neosnippet#snippets_directory='~/.vim/snippets/'

このディレクリのルートにphp.snipをインクルード用ファイルとして置いて(include php/*とだけ記述している)、~/.vim/snippets/phpディレクトリを作り、その中にPHP用のスニペットファイルを入れるという感じです。

確かにこの方法の方が管理がしやすそうです。

いろいろスニペットを増やしたり減らしたりが捗りそうです。わ〜い。

まとめ

  • スニペットファイルはインクルードできる
  • ファイル単位・ディレクトリ単位でインクルード可能
  • 複数ファイルに分割してスニペットファイルは管理が楽