TwitVim:命令行上的 twitter 客户端

最近有点迷恋 CLI,转到了 Arch Linux 。现在 X 上只装了 awesome 和 firefox。所以想找一个命令行模式的 twitter 客户端,发现了 TwitVim,其实它只是一个 vim 的插件,但功能还是很强大的,况且 vim 本来就是极其强大的。

一:安装TwitVim

这是它的主页,下载到文件是打包好的 vimball ,直接用下面的命令安装:

vim twitvim.vba
:source %

二:使用TwitVim

进入 vim 后输入命令:”help TwitVim-manual”可以查看 TwitVim 的帮助手册。

1,使用前的设置

编辑你的 ~/.vimrc ,在其中加入如下内容:

let twitvim_login = "username:password"
"设置你的 twitter 用户名和密码
 
let twitvim_api_root = "http://www.twitk.com/k/"
"TwitVim 支持 api,所以对于国内的用户,一般需要设置它。
 
let twitvim_proxy = "proxyserver:proxyport"
"TwitVim 同样支持通过 http 代理访问 twitter ,如果你不想是用 api 的话,可以设置它。
let twitvim_proxy_login = "proxyuser:proxypassword"
"http 代理的用户名和密码,如果需要的话。

如果你像我一样使用 VPN ,那么只需要设置 twitter 用户名和密码就可以了。其实,在 .vimrc 里你可以连 twitter 用户名密码也不用设置,TwitVim 会在需要认证的时候会提示你输入用户名和密码。这对于不想将密码以明文保存的朋友来说是有用的,但这样每次打开 TwitVim 的时候你都必须输入一次密码。
实际上,这里还有一种更好的方式,将密码以 base64 加密储存:

let twitvim_login_b64 = "base64string"

用 base64 编码 “username:password” (不含引号)得到 base64string 。

2,更新 twitter

现在你可以在 vim 里更新 twitter 了。

发布消息:

:PosttoTwitter
#TwitVim 会提示你输入要发布的内容。

将当前页面的当前行发布到 twitter:

:CPosttoTwitter

将当前页面的所有内容发布到 twitter:

:BPosttoTwitter

将选择的内容(visual 模式)发布到 twitter:

Ctrl-T

给指定用户发送 DM:

:SendDMTwitter {username}
#TwitVim 会提示你输入要发送的内容。

3,浏览 twitter

查看指定用户的 twitter 消息:

:[count]UserTwitter {username}
#如果没有指定 {username} ,就显示你自己的 twitter 消息。
#[count] 也是可选的项,它表示要显示的页数,例如,2UserTwitter 将显示第二页的内容。
#默认每页显示20条消息。你可以在 .vimrc 中使用下面的命令让每页显示30条消息。
 
let twitvim_count = 30

显示你和朋友们的 timeline:

:[count]FriendsTwitter

显示提及你的消息:

:[count]MentionsTwitter

显示公共 timeline:

:PublicTwitter

显示你收到的 DM:

:[count]DMTwitter

显示你发送的 DM:

:[count]DMSentTwitter

显示一个 list 的timeline:

:[count]ListTwitter {user} {list}
#如果省略 {user} ,那么将默认为你自己。

显示你跟随的人转发的消息:

:[count]RetweetedToMeTwitter

显示你转发的消息:

:[count]RetweetedByMeTwitter

显示前一个 timeline:

:BackTwitter
#快捷键:Ctrl-O

显示后一个 timeline:

:ForwardTwitter
#快捷键:Ctrl-I

刷新当前 timeline:

:RefreshTwitter
#快捷键:\\

显示当前 timeline 的下一页:

:NextTwitter
#快捷键:Ctrl-PageDown

显示当前 timeline 的上一页:

:PreviousTwitter
#快捷键:Ctrl-PageUp

打开 url:

\g
#当光标置于 URL 上时,TwitVim 会启动浏览器打开该 URL 。
#或当选择了一段文本时,TwitVim 会以该文本来启动浏览器。
 
#不过,当光标至于 user 或 @user 上时,TwitVim 会显示该用户的 timeline 。
#至于 #hashtag 上时,TwitVim 会搜索 #hashtag。
 
#使用此命令前,需要告诉 TwitVim 使用什么浏览器。在 .vimrc 中加入:
 
let twitvim_browser_cmd = 'firefox'

4,与他人互交

回复当前 tweet 的作者:

\r

回复所有人:

\Ctrl-R
#包括当前 tweet 的发布者和被提及的人。

转发 tweet:

\R
#注意:这个功能是调用了 retweet API 来完成的,即这是官方的 Retweet。
#如果你想是用非官方的 retweet ,需要在 .vimrc 中加入:
 
let twitvim_old_retweet = 1
 
#如果是用非官方的 retweet ,默认情况下,转发格式为:
 
RT @user: text of the tweet
 
#你可以在 .vimrc 中加入如下格式来自定义转发格式:
 
let twitvim_retweet_format = 'Retweet from %s: %t'
#或:
let twitvim_retweet_format = '%t (retweeted from %s)'
 
#%t 代表 tweet 内容, %s 代表 tweet 的作者。

给当前 tweet 的作者发送 DM:

\d

查看用户信息:

\p
#获取光标处用户名的用户信息。
 
:ProfileTwitter {username}
#查看指定用户的信息。

查看对话:

\@
#如果当前的 tweet 是一条回复的 tweet ,TwitVim 将获取此条 tweet 所回复的 tweet 。

删除当前 tweet:

\X
#当然你必须是该 tweet 的作者,你可以删除你收到或是发送的 DM 。

5,一些小工具

1)缩短网址

:IsGd {url}
#调用 is.gd 的 API 得到一个 {url} 的短网址。
#如果省略 {url} 的话,TwitVim 将提示你输入一个 url 。
#得到短网址后会自动插入光标所在位置。
 
:AIsGd
#和 :IsGd 相同,只不过它不是在光标位置插入,而是附加的光标之后。
 
:PIsGd
#和 :IsGd 相同,但它会在得到短网址后提示你输入要发布的 tweet ,并将短网址插入到这个 tweet 中。
 
#注意: :IsGd 和 :AIsGd 是不能在查看 twitter 时使用的。
	#因为它会将短网址插入到当前页面,而所查看的 twitter 都是不可写的。
	#在任何时候都可以使用 :PIsGd 来发布带有短网址的 twitter 消息。
 
#TwitVim 持支很多种短网址服务,用法和 is.gd 类似。具体可以查看帮助手册。

2)还原短网址

\e
#调用 LongURL API 将光标处的短网址还原成原始地址。

3)搜索

:[count]SearchTwitter {query}
#调用 twitter Search API 来搜索关键字。省略 {query} 的话,TwitVim 会提示你输入。
#所有的 twitter <a href="http:#search.twitter.com/operators" target="_blank">搜索操作符</a>都被支持。

4)查看 API 调用记录

:RateLimitTwitter
#查看你的 API 使用情况,它将显示剩余使用次数,以及下次重置的时间。

5)设置你的位置

:LocationTwitter {location}
#用于设置你个人信息中的位置。这里的 {location} 没有严格的格式,它可以是 zip 码,城市名称,或者经纬度。

三:总结

作为可以在命令行上使用的 twitter 客户端,TwitVim 还是非常不错的。支持高亮,支持 API,短网址,搜索,位置信息。但不支持图片(这似乎是先天的缺陷),不能以昵称显示用户,不能收藏 tweet 。不过作为 vim 的插件,我可以在 coding ,写博客,甚至阅读(我是 vim 的重度用户)的时候随意 twitter 。当然对于不使用 vim 的人,似乎就没有必要了。另外,配合 vim 和 linux 强大的控制台,使用 TwitVim 确实比其它的 GUI 客户端要高效和便利,不过这已经不是这篇日志所能覆盖的内容。

TwitVim:命令行上的 twitter 客户端》上有2条评论

发表评论

电子邮件地址不会被公开。