Hatena::ブログ(Diary)

C++でゲームプログラミング

2013-10-06

[]unite.vim の action の設定方法いろいろ

この記事は Vim Advent Calendar 2012 310日目の記事になります。


さて、前回の Vim Advent Calendar では unite.vim の action について書いたのですが、今回はその action の設定方法なんかを簡単に紹介してみたいと思います。


[デフォルトの action を設定する]

kind に対してデフォルトの action を設定します。

その kind が設定されている候補を実行(<CR>)した時にその action が呼ばれます。


" ディレクトリは vimfiler で開く
call unite#custom#default_action('directory' , 'vimfiler')

" ファイルは tabdrop で開く
call unite#custom#default_action('file' , 'tabdrop')

" 次のように , で複数の kind に対して設定することもできる
call unite#custom#default_action('file,buffer' , 'tabdrop')

ここで注意するのは『source』ではなくて『kind』に対して設定するという事です。

設定した kind のすべてのデフォルト action に反映されます。


[source に対してデフォルトの action を設定する]

上記は kind に対して設定しましたが、次のように書くことで source ごとに対してデフォルトの action を設定する事ができます。

特定の source の場合のみデフォルトの action を設定したい時に有効です。


" source/{name}/{kind} のように source と kind を指定する事ができる
" source-bookmark の kind-directory は tabvimfiler を使用する
call unite#custom#default_action("source/bookmark/directory", "tabvimfiler")

" kind に * を設定すればその source のすべての kind に対して設定される
" source-file のデフォルトの action を tabdrop にする
call unite#custom#default_action("source/file/*", "tabdrop")

[action に対して別の action を設定する]

unite.vim では特定の action を呼ぶキーマッピングがいくつか設定されいます。

例えば、t キーを押すと "tabopen" action が呼び出されます。

この時に "tabopen" に対して別の action を設定することで t キーの挙動を自分好みに設定する事ができます。


" kind-file の tabopen を tabdrop にする
call unite#custom#alias('file', 'tabopen', 'tabdrop')

" kind-file の tabopen を tabvimfiler にする
call unite#custom#alias('directory', 'tabopen', 'tabvimfiler')

また、unite#custom#default_action() と同様に source を指定して設定することもできます。


" source-file_mru の tabopen を split にする
call unite#custom#alias('source/file_mru/file', 'tabopen', 'split')

このように自分にあった挙動を設定すると更に unite.vim の使い勝手がよくなると思います。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証