unite-pocket.vim は Pocket に保存したコンテンツを Vim で操作するための Unite source です。
NeoBundle 'mattn/webapi-vim.git'
NeoBundle 'tyru/open-browser.vim'
NeoBundle 'syurazo/unite-pocket.vim'
NeoBundleLazy 'syurazo/unite-pocket.vim', {
\ 'commands': [ 'PocketList', 'PocketAdd' ],
\ 'unite_sources': 'pocket'
\ }
Unite source を呼び出したとき、Access token の取得が完了していないと、OAuth による認証のステップが実行されます。
- Vim の画面下に 'Consumer Key:' と表示されるので、Pocket API の Consumer Key を入力する。
- ブラウザが起動し、Pocket API の承認画面が表示される。
- Vim の画面下に 'OK?' と表示され入力待ちになるので、ブラウザで承認してから Vim でリターンキーを入力する。
- ~/.unite-pocket に Access token が保存される。
- すべてのコンテンツを表示する
:Unite pocket
- 未読コンテンツを表示する
:Unite pocket:unread
- 未読コンテンツを表示する
:Unite pocket:archive
- スターを付けたコンテンツを表示する
:Unite pocket:all:favorited
- スターを付けていないコンテンツを表示する
:Unite pocket:all:unfavorited
DEV
タグが付いたコンテンツを表示する
:Unite pocket:all::DEV
- パラメタで URL を指定する
:PocketAdd http://example.com/hoge/fuga
- プロンプトから URL を入力する
:PocketAdd
site: http://example.com/hoge/fuga
tags: example
action | 動作 |
---|---|
open | コンテンツをブラウザで表示する |
delete | コンテンツをPokcetから削除する |
archive | コンテンツをアーカイブに移動する |
readd | アーカイブからコンテンツを未読として再登録する |
favorite | コンテンツにスターを付ける |
unfavorite | コンテンツのスターを外す |
add_tags | コンテンツにタグを追加する |
remove_tags | コンテンツから特定のタグを削除する |
clear_tags | コンテンツからタグを削除する |
コンテンツを開くコマンドを変更する。
let g:unite_pocket_open_command = 'OpenBrowser'
一覧を取得する際の件数、順序、フィルタするステータスなどを指定する。
let g:unite_pocket_retrieve_options = {
\ 'count': 100,
\ 'sort': 'newest',
\ 'state': 'all'
\ }
Unite source でコンテンツのステータスとして表示するマーカーを指定する。
let g:unite_pocket_status_marks = ['*', ' ', '!']
index | 意味 |
---|---|
0 | 未読 |
1 | アーカイブ |
2 | 要削除 |
Pocket API の Access token 等を保存するファイルを指定する。
let g:unite_pocket_config_file = '~/.unite-pocket'
Unite source で表示する文字列のフォーマッタにユーザ定義関数を指定する。
function! UnitePocketFormatter(record)
return a:record.mark . ':' . a:record.title
endfunction
let g:unite_pocket_formatter = 'UnitePocketFormatter'
nnoremap <silent> <Leader>zpA
\ :<C-u>execute 'PocketAdd ' . openbrowser#get_url_on_cursor()<CR>
autocmd FileType w3m nnoremap <silent> <Leader>zpw
\ :<C-u>execute 'PocketAdd ' . b:last_url<CR>
function! UnitePocketFormatter(r)
return a:r.mark
\ . (len(a:r.tags) ? '[' . join(a:r.tags, ',') . ']' : '')
\ . a:r.title
endfunction
let g:unite_pocket_formatter = 'UnitePocketFormatter'