VimでTwitterをするプラグインを作った
初めに
ども、森に帰省中のゴリラです。
みなさん、Twitterをしていますか?
森にいてもついついTwitterをしてしまうので、都市に住んでいる人間のみなさんもきっと同じじゃないかなと思っています。
ぼくは普段Twitterをよく使うんですが、
基本ターミナルとVimに引きこもっているので、ツイートをするためだけにブラウザに切り替える必要があるため不便と感じていました。
以前まではbasyura/TweetVimを使っていましたが、一部動かないところがあったので使うのを諦めて長い間ブラウザでTwitterをしていました。
ちょうど今、手が空いたので、そこで重い腰を上げて、VimでTwitterできるプラグインを作りました。
プラグインの紹介
UIはこんな感じになっています。
ツイートごとにボーダーで区切られています。
ツイートの選択は次のキーマップを提供しています。
スクロールだけだと不便な場合に有用かと思います。
" 次のツイートにカーソルを移動
<Plug>(twihi:tweet:next)
" 前のツイートにカーソルを移動
<Plug>(twihi:tweet:prev)
現時点でdenops-twihi.vim
ができることは次のとおりです。
- タイムライン(ホーム、ユーザー、メンション)
- ツイート、画像付きツイート
- リツイート、コメント・画像付き(ファイル/クリップボード)リツイート
- リプライ、画像付きリプライ
たとえば、画像付きツイートをする場合だと、こんな感じです。
基本的に、ツイート・リプライ・コメント付きリツイートは専用バッファが開くので、そこにツイート本文を入力して:w
でツイートできます。
現時点で、主に提供しているコマンドは次のとおりです。
" ホームタイムライン
:TwihiHome
" 通知
:TwihiMentions
" {userid} のタイムライン
:TwihiTimeline {userid}
" 新規ツイートのバッファを開く
:TwihiTweet
" ツイートに画像を追加
:TwihiMediaAdd {file}
" ツイートにクリップボードの画像データを追加
:TwihiMediaAddFromClipboard
" 追加した画像をすべてクリア
:TwihiMediaClear
" 追加した画像を削除
:TwihiMediaRemove {file}
" APIキーやトークンの設定
:TwihiEditConfig
リプライなどはコマンドではなく、アクションとして提供しています。
アクションはタイムラインバッファのみ実行できます。
ノーマルモードにてa
でアクションを入力モードになり、
like
を入力することで、ツイートにいいねを付けることができます。
like
以外にもreply:media:clipboard
などのアクションがあります。
アクションに対応してキーマップもあり、次のとおりです。
ユーザーが好きなように設定できます。
" アクションモード
<Plug>(twihi:action)
" ツイートをブラウザで開く
<Plug>(twihi:tweet:open)
" いいねをつける
<Plug>(twihi:tweet:like)
" ツイートのURLをコピー
<Plug>(twihi:tweet:yank)
" ツイートへのリプライ
<Plug>(twihi:reply)
" リツイート
<Plug>(twihi:retweet)
" コメント付きリツイート
<Plug>(twihi:retweet:comment)
" 画像(クリップボード)とコメント付きリツイート
<Plug>(twihi:retweet:comment:media:clipboard)
キーマップを設定する場合はautocmd
を使ってtwihi-timeline
の場合に設定する必要があります。
function! s:twihi_keymap() abort
nmap <buffer> <silent> <C-g>y <Plug>(twihi:tweet:yank)
nmap <buffer> <silent> <C-g><C-l> <Plug>(twihi:tweet:like)
nmap <buffer> <silent> <C-o> <Plug>(twihi:tweet:open)
nmap <buffer> <silent> <C-p> <Plug>(twihi:reply)
nmap <buffer> <silent> <C-r> <Plug>(twihi:retweet:comment)
endfunction
augroup twihi_keymap
au!
au FileType twihi-timeline call <SID>twihi_keymap()
augroup END
最後に
画像などは見れないんですが、ツイート本文やツイートができるので、これでツイ廃になれます。
VimでTwitterをしたい方は、ぜひお試しください。
Discussion