textobj-template.vim
kanaさん作の神プラグインである、textobj.vimのプラグインでTemplateToolkitとかrhtmlとかのWAFのテンプレートエンジン用のやつを書きました。
" textobj-template - Text objects for WAF template engine.
" Version: 0.0.1
" Author: Kazuhito Hokamura
" License: MIT license (see <http://www.opensource.org/licenses/mit-license>)
if exists('g:loaded_textobj_template')
finish
endif
call textobj#user#plugin('template', {
\ 'tt': {
\ 'select-a': 'aTt',
\ 'select-i': 'iTt',
\ '*pattern*': ['\[%-\? ', ' -\?%\]'],
\ },
\ 'mt': {
\ 'select-a': 'aTm',
\ 'select-i': 'iTm',
\ '*pattern*': ['<?= ', ' ?>'],
\ },
\ 'rhtml': {
\ 'select-a': 'aTr',
\ 'select-i': 'iTr',
\ '*pattern*': ['<%= ', ' %>'],
\ },
\ 'django': {
\ 'select-a': 'aTd',
\ 'select-i': 'iTd',
\ '*pattern*': ['{\(%\|{\) ', ' \(%\|}\)}'],
\ },
\ })
let loaded_textobj_template= 1
対応してるのはTemplate Toolkit(perl)、Text::MicroTemplate(perl)、Rails、Djangoです。
下記の様なテキストを一発で操作可能になります。TT以外はほとんど使ったことないけど、ついでなんで入れました。
[% TemplateToolkit %]
[%- TemplateToolkit -%]
<?= MicroTemplate ?>
<%= ruby on rails %>
ただしキーマップが微妙であることはいなめない。
- Prev Entry:snipMate.vimのsnippetを書いた時点で再読み込みする
- Next Entry:Ark(Catalyst)のルーティング