1313 lines
46 KiB
Text
1313 lines
46 KiB
Text
![]() |
*twitvim.txt* Twitter client for Vim
|
||
|
|
||
|
---------------------------------
|
||
|
TwitVim: A Twitter client for Vim
|
||
|
---------------------------------
|
||
|
|
||
|
Author: Po Shan Cheah <morton@mortonfox.com>
|
||
|
http://twitter.com/mortonfox
|
||
|
|
||
|
License: The Vim License applies to twitvim.vim and twitvim.txt (see
|
||
|
|copyright|) except use "TwitVim" instead of "Vim". No warranty,
|
||
|
express or implied. Use at your own risk.
|
||
|
|
||
|
|
||
|
==============================================================================
|
||
|
1. Contents *TwitVim* *TwitVim-contents*
|
||
|
|
||
|
1. Contents...............................: |TwitVim-contents|
|
||
|
2. Introduction...........................: |TwitVim-intro|
|
||
|
3. Installation...........................: |TwitVim-install|
|
||
|
cURL...................................: |TwitVim-cURL|
|
||
|
twitvim.vim............................: |TwitVim-add|
|
||
|
twitvim_login..........................: |twitvim_login|
|
||
|
twitvim_proxy..........................: |twitvim_proxy|
|
||
|
twitvim_proxy_login....................: |twitvim_proxy_login|
|
||
|
twitvim_api_root.......................: |twitvim_api_root|
|
||
|
twitvim-identi.ca......................: |twitvim-identi.ca|
|
||
|
3.1. Base64-Encoded Login.................: |TwitVim-login-base64|
|
||
|
twitvim_login_b64....................: |twitvim_login_b64|
|
||
|
twitvim_proxy_login_b64..............: |twitvim_proxy_login_b64|
|
||
|
3.2. Alternatives to cURL.................: |TwitVim-non-cURL|
|
||
|
twitvim_enable_perl..................: |twitvim_enable_perl|
|
||
|
twitvim_enable_python................: |twitvim_enable_python|
|
||
|
twitvim_enable_ruby..................: |twitvim_enable_ruby|
|
||
|
twitvim_enable_tcl...................: |twitvim_enable_tcl|
|
||
|
3.3. Using Twitter SSL API................: |TwitVim-ssl|
|
||
|
Twitter SSL via cURL.................: |TwitVim-ssl-curl|
|
||
|
twitvim_cert_insecure................: |twitvim_cert_insecure|
|
||
|
Twitter SSL via Perl interface.......: |TwitVim-ssl-perl|
|
||
|
Twitter SSL via Ruby interface.......: |TwitVim-ssl-ruby|
|
||
|
Twitter SSL via Python interface.....: |TwitVim-ssl-python|
|
||
|
4. Manual.................................: |TwitVim-manual|
|
||
|
4.1. Update Commands......................: |TwitVim-update-commands|
|
||
|
:PosttoTwitter.......................: |:PosttoTwitter|
|
||
|
:CPosttoTwitter......................: |:CPosttoTwitter|
|
||
|
:BPosttoTwitter......................: |:BPosttoTwitter|
|
||
|
:SendDMTwitter.......................: |:SendDMTwitter|
|
||
|
4.2. Timeline Commands....................: |TwitVim-timeline-commands|
|
||
|
:UserTwitter.........................: |:UserTwitter|
|
||
|
twitvim_count........................: |twitvim_count|
|
||
|
:FriendsTwitter......................: |:FriendsTwitter|
|
||
|
:RepliesTwitter......................: |:RepliesTwitter|
|
||
|
:PublicTwitter.......................: |:PublicTwitter|
|
||
|
:DMTwitter...........................: |:DMTwitter|
|
||
|
:DMSentTwitter.......................: |:DMSentTwitter|
|
||
|
:BackTwitter.........................: |:BackTwitter|
|
||
|
:ForwardTwitter......................: |:ForwardTwitter|
|
||
|
:RefreshTwitter......................: |:RefreshTwitter|
|
||
|
:NextTwitter.........................: |:NextTwitter|
|
||
|
:PreviousTwitter.....................: |:PreviousTwitter|
|
||
|
4.3. Mappings.............................: |TwitVim-mappings|
|
||
|
Alt-T................................: |TwitVim-A-t|
|
||
|
Ctrl-T...............................: |TwitVim-C-t|
|
||
|
Reply Feature........................: |TwitVim-reply|
|
||
|
Alt-R................................: |TwitVim-A-r|
|
||
|
<Leader>r............................: |TwitVim-Leader-r|
|
||
|
Retweet Feature......................: |TwitVim-retweet|
|
||
|
<Leader>R............................: |TwitVim-Leader-S-r|
|
||
|
twitvim_retweet_format...............: |twitvim_retweet_format|
|
||
|
Direct Message Feature...............: |TwitVim-direct-message|
|
||
|
Alt-D................................: |TwitVim-A-d|
|
||
|
<Leader>d............................: |TwitVim-Leader-d|
|
||
|
Goto Feature.........................: |TwitVim-goto|
|
||
|
Alt-G................................: |TwitVim-A-g|
|
||
|
<Leader>g............................: |TwitVim-Leader-g|
|
||
|
twitvim_browser_cmd..................: |twitvim_browser_cmd|
|
||
|
LongURL Feature......................: |TwitVim-LongURL|
|
||
|
<Leader>e............................: |TwitVim-Leader-e|
|
||
|
User Profiles........................: |TwitVim-profile|
|
||
|
<Leader>p............................: |TwitVim-Leader-p|
|
||
|
In-reply-to..........................: |TwitVim-inreplyto|
|
||
|
<Leader>@............................: |TwitVim-Leader-@|
|
||
|
Delete...............................: |TwitVim-delete|
|
||
|
<Leader>X............................: |TwitVim-Leader-X|
|
||
|
Ctrl-O...............................: |TwitVim-C-o|
|
||
|
Ctrl-I...............................: |TwitVim-C-i|
|
||
|
Refresh..............................: |TwitVim-refresh|
|
||
|
<Leader><Leader>.....................: |TwitVim-Leader-Leader|
|
||
|
Next page............................: |TwitVim-next|
|
||
|
Ctrl-PageDown........................: |TwitVim-C-PageDown|
|
||
|
Previous page........................: |TwitVim-previous|
|
||
|
Ctrl-PageUp..........................: |TwitVim-C-PageUp|
|
||
|
4.4. Utility Commands.....................: |TwitVim-utility|
|
||
|
:Tweetburner.........................: |:Tweetburner|
|
||
|
:ATweetburner........................: |:ATweetburner|
|
||
|
:PTweetburner........................: |:PTweetburner|
|
||
|
:Snipurl.............................: |:Snipurl|
|
||
|
:ASnipurl............................: |:ASnipurl|
|
||
|
:PSnipurl............................: |:PSnipurl|
|
||
|
:Metamark............................: |:Metamark|
|
||
|
:AMetamark...........................: |:AMetamark|
|
||
|
:PMetamark...........................: |:PMetamark|
|
||
|
:TinyURL.............................: |:TinyURL|
|
||
|
:ATinyURL............................: |:ATinyURL|
|
||
|
:PTinyURL............................: |:PTinyURL|
|
||
|
:BitLy...............................: |:BitLy|
|
||
|
:ABitLy..............................: |:ABitLy|
|
||
|
:PBitLy..............................: |:PBitLy|
|
||
|
:IsGd................................: |:IsGd|
|
||
|
:AIsGd...............................: |:AIsGd|
|
||
|
:PIsGd...............................: |:PIsGd|
|
||
|
:UrlBorg.............................: |:UrlBorg|
|
||
|
twitvim_urlborg_key..................: |twitvim_urlborg_key|
|
||
|
:AUrlBorg............................: |:AUrlBorg|
|
||
|
:PUrlBorg............................: |:PUrlBorg|
|
||
|
:Trim................................: |:Trim|
|
||
|
twitvim_trim_login...................: |twitvim_trim_login|
|
||
|
:ATrim...............................: |:ATrim|
|
||
|
:PTrim...............................: |:PTrim|
|
||
|
:Cligs...............................: |:Cligs|
|
||
|
twitvim_cligs_key....................: |twitvim_cligs_key|
|
||
|
:ACligs..............................: |:ACligs|
|
||
|
:PCligs..............................: |:PCligs|
|
||
|
:SearchTwitter.......................: |:SearchTwitter|
|
||
|
:RateLimitTwitter....................: |:RateLimitTwitter|
|
||
|
:ProfileTwitter......................: |:ProfileTwitter|
|
||
|
:LocationTwitter.....................: |:LocationTwitter|
|
||
|
5. Timeline Highlighting..................: |TwitVim-highlight|
|
||
|
twitterUser............................: |hl-twitterUser|
|
||
|
twitterTime............................: |hl-twitterTime|
|
||
|
twitterTitle...........................: |hl-twitterTitle|
|
||
|
twitterLink............................: |hl-twitterLink|
|
||
|
twitterReply...........................: |hl-twitterReply|
|
||
|
6. Tips and Tricks........................: |TwitVim-tips|
|
||
|
6.1. Timeline Hotkeys.....................: |TwitVim-hotkeys|
|
||
|
6.2. Switching between services...........: |TwitVim-switch|
|
||
|
6.3. Line length in status line...........: |TwitVim-line-length|
|
||
|
7. History................................: |TwitVim-history|
|
||
|
8. Credits................................: |TwitVim-credits|
|
||
|
|
||
|
|
||
|
==============================================================================
|
||
|
2. Introduction *TwitVim-intro*
|
||
|
|
||
|
TwitVim is a plugin that allows you to post to Twitter, a
|
||
|
microblogging service at http://www.twitter.com.
|
||
|
|
||
|
Since version 0.2.19, TwitVim also supports other microblogging
|
||
|
services, such as identi.ca, that offer Twitter-compatible APIs. See
|
||
|
|twitvim_api_root| for information on configuring TwitVim for those
|
||
|
services.
|
||
|
|
||
|
|
||
|
==============================================================================
|
||
|
3. Installation *TwitVim-install*
|
||
|
|
||
|
1. Install cURL. *TwitVim-cURL*
|
||
|
|
||
|
If you don't already have cURL on your system, download it from
|
||
|
http://curl.haxx.se/. Make sure that the curl executable is in a
|
||
|
directory listed in your PATH environment variable, or the equivalent
|
||
|
for your system.
|
||
|
|
||
|
If you have the Perl, Python, Ruby, or Tcl interfaces, you may use one
|
||
|
of those instead of installing cURL. See |TwitVim-non-cURL| for
|
||
|
setup details.
|
||
|
|
||
|
|
||
|
2. twitvim.vim *TwitVim-add*
|
||
|
|
||
|
Add twitvim.vim to your plugins directory. The location depends on
|
||
|
your operating system. See |add-global-plugin| for details.
|
||
|
|
||
|
If you installed from the Vimball (.vba) file, twitvim.vim should
|
||
|
already be in its correct place.
|
||
|
|
||
|
|
||
|
3. twitvim_login *twitvim_login*
|
||
|
|
||
|
Add the following to your vimrc:
|
||
|
|
||
|
let twitvim_login = "USER:PASS"
|
||
|
|
||
|
Replace USER with your Twitter user name and PASS with your Twitter
|
||
|
password.
|
||
|
|
||
|
It is possible to avoid having your Twitter password in plaintext in
|
||
|
your vimrc. See |TwitVim-login-base64| for details.
|
||
|
|
||
|
|
||
|
4. twitvim_proxy *twitvim_proxy*
|
||
|
|
||
|
This step is only needed if you access the web through a HTTP proxy.
|
||
|
If you use a HTTP proxy, add the following to your vimrc:
|
||
|
|
||
|
let twitvim_proxy = "proxyserver:proxyport"
|
||
|
|
||
|
Replace proxyserver with the address of the HTTP proxy and proxyport
|
||
|
with the port number of the HTTP proxy.
|
||
|
|
||
|
|
||
|
5. twitvim_proxy_login *twitvim_proxy_login*
|
||
|
|
||
|
If the HTTP proxy requires authentication, add the following to your
|
||
|
vimrc:
|
||
|
|
||
|
let twitvim_proxy_login = "proxyuser:proxypassword"
|
||
|
|
||
|
Where proxyuser is your proxy user and proxypassword is your proxy
|
||
|
password.
|
||
|
|
||
|
It is possible to avoid having your proxy password in plaintext in
|
||
|
your vimrc. See |TwitVim-login-base64| for details.
|
||
|
|
||
|
|
||
|
6. twitvim_api_root *twitvim_api_root*
|
||
|
|
||
|
This setting allows you to configure TwitVim to communicate with
|
||
|
servers other than twitter.com that implement a Twitter-compatible
|
||
|
API.
|
||
|
|
||
|
*twitvim-identi.ca*
|
||
|
For instance, to use identi.ca instead of Twitter, add this to your
|
||
|
vimrc:
|
||
|
|
||
|
let twitvim_api_root = "http://identi.ca/api"
|
||
|
|
||
|
A server implementing a Twitter-compatible API may not support all of
|
||
|
Twitter's features, so some TwitVim commands may not work.
|
||
|
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
3.1. Base64-Encoded Login *TwitVim-login-base64*
|
||
|
|
||
|
For safety purposes, TwitVim allows you to specify your Twitter login
|
||
|
and proxy login information preencoded in base64. This is not truly
|
||
|
secure as it is not encryption but it can stop casual onlookers
|
||
|
from reading off your password when you edit your vimrc.
|
||
|
|
||
|
*twitvim_login_b64*
|
||
|
To do that, set the following in your vimrc:
|
||
|
|
||
|
let twitvim_login_b64 = "base64string"
|
||
|
|
||
|
*twitvim_proxy_login_b64*
|
||
|
If your HTTP proxy needs authentication, set the following:
|
||
|
|
||
|
let twitvim_proxy_login_b64 = "base64string"
|
||
|
|
||
|
|
||
|
Where base64string is your username:password encoded in base64.
|
||
|
|
||
|
|
||
|
An example:
|
||
|
|
||
|
Let's say Joe User has a Twitter login of "joeuser" and a password of
|
||
|
"joepassword". His first step is to encode "joeuser:joepassword" in
|
||
|
Base64. He can either use a standalone utility to do that or, in a
|
||
|
pinch, he can do the encoding at websites such as the following:
|
||
|
http://makcoder.sourceforge.net/demo/base64.php
|
||
|
http://www.opinionatedgeek.com/dotnet/tools/Base64Encode/
|
||
|
|
||
|
The result is: am9ldXNlcjpqb2VwYXNzd29yZA==
|
||
|
|
||
|
Then he adds the following to his vimrc:
|
||
|
|
||
|
let twitvim_login_b64 = "am9ldXNlcjpqb2VwYXNzd29yZA=="
|
||
|
|
||
|
And his setup is ready.
|
||
|
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
3.2. Alternatives to cURL *TwitVim-non-cURL*
|
||
|
|
||
|
TwitVim supports http networking through Vim's Perl, Python, Ruby, and
|
||
|
Tcl interfaces, so if you have any of those interfaces compiled into
|
||
|
your Vim program, you can use that instead of cURL.
|
||
|
|
||
|
Generally, it is slightly faster to use one of those scripting
|
||
|
interfaces for networking because it avoids running an external
|
||
|
program. On Windows, it also avoids a brief taskbar flash when cURL
|
||
|
runs.
|
||
|
|
||
|
To find out if you have those interfaces, use the |:version| command
|
||
|
and check the |+feature-list|. Then to enable this special http
|
||
|
networking code in TwitVim, add one of the following lines to your
|
||
|
vimrc:
|
||
|
|
||
|
let twitvim_enable_perl = 1
|
||
|
let twitvim_enable_python = 1
|
||
|
let twitvim_enable_ruby = 1
|
||
|
let twitvim_enable_tcl = 1
|
||
|
|
||
|
You can enable more than one scripting language but TwitVim will only
|
||
|
use the first one it finds.
|
||
|
|
||
|
|
||
|
1. Perl interface *twitvim_enable_perl*
|
||
|
|
||
|
To enable TwitVim's Perl networking code, add the following to your
|
||
|
vimrc:
|
||
|
|
||
|
let twitvim_enable_perl = 1
|
||
|
|
||
|
TwitVim requires the MIME::Base64 and LWP::UserAgent modules. If you
|
||
|
have ActivePerl, these modules are included in the default
|
||
|
installation.
|
||
|
|
||
|
|
||
|
2. Python interface *twitvim_enable_python*
|
||
|
|
||
|
To enable TwitVim's Python networking code, add the following to your
|
||
|
vimrc:
|
||
|
|
||
|
let twitvim_enable_python = 1
|
||
|
|
||
|
TwitVim requires the urllib, urllib2, and base64 modules. These
|
||
|
modules are in the Python standard library.
|
||
|
|
||
|
|
||
|
3. Ruby interface *twitvim_enable_ruby*
|
||
|
|
||
|
To enable TwitVim's Ruby networking code, add the following to your
|
||
|
vimrc:
|
||
|
|
||
|
let twitvim_enable_ruby = 1
|
||
|
|
||
|
TwitVim requires the net/http, uri, and Base64 modules. These modules
|
||
|
are in the Ruby standard library.
|
||
|
|
||
|
In addition, TwitVim requires a Vim patch to fix an if_ruby networking
|
||
|
problem. See the following message:
|
||
|
|
||
|
http://www.mail-archive.com/vim_dev@googlegroups.com/msg03693.html
|
||
|
|
||
|
and also Bram's correction to the patch:
|
||
|
|
||
|
http://www.mail-archive.com/vim_dev@googlegroups.com/msg03713.html
|
||
|
|
||
|
|
||
|
3. Tcl interface *twitvim_enable_tcl*
|
||
|
|
||
|
To enable TwitVim's Tcl networking code, add the following to your
|
||
|
vimrc:
|
||
|
|
||
|
let twitvim_enable_tcl = 1
|
||
|
|
||
|
TwitVim requires the http, uri, and base64 modules. uri and base64 are
|
||
|
in the Tcllib library so you may need to install that. See
|
||
|
http://tcllib.sourceforge.net/
|
||
|
|
||
|
If you have ActiveTcl 8.5, the default installation does not include
|
||
|
Tcllib. Run the following command from the shell to add Tcllib:
|
||
|
|
||
|
teacup install tcllib
|
||
|
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
3.3. Using Twitter SSL API *TwitVim-ssl*
|
||
|
|
||
|
For added security, TwitVim can use the Twitter SSL API instead of the
|
||
|
regular Twitter API. You configure this by setting |twitvim_api_root|
|
||
|
to the https version of the URL:
|
||
|
|
||
|
let twitvim_api_root = "https://twitter.com"
|
||
|
|
||
|
For identi.ca:
|
||
|
|
||
|
let twitvim_api_root = "https://identi.ca/api"
|
||
|
|
||
|
There are certain pre-requisites, as explained below.
|
||
|
|
||
|
|
||
|
1. Twitter SSL via cURL *TwitVim-ssl-curl*
|
||
|
|
||
|
To use SSL via cURL, you need to install the SSL libraries and an
|
||
|
SSL-enabled build of cURL.
|
||
|
|
||
|
*twitvim_cert_insecure*
|
||
|
Even after you've done that, cURL may complain about certificates that
|
||
|
failed verification. If you need to override certificate checking, set
|
||
|
twitvim_cert_insecure:
|
||
|
|
||
|
let twitvim_cert_insecure = 1
|
||
|
|
||
|
|
||
|
2. Twitter SSL via Perl interface *TwitVim-ssl-perl*
|
||
|
|
||
|
To use SSL via the TwitVim Perl interface (See |twitvim_enable_perl|),
|
||
|
you need to install the SSL libraries and the Crypt::SSLeay Perl
|
||
|
module.
|
||
|
|
||
|
If you are using Twitter SSL over a proxy, do not set twitvim_proxy
|
||
|
and twitvim_proxy_login. Crypt::SSLeay gets proxy information from
|
||
|
the environment, so do this instead:
|
||
|
|
||
|
let $HTTPS_PROXY="http://proxyserver:proxyport"
|
||
|
let $HTTPS_PROXY_USERNAME="user"
|
||
|
let $HTTPS_PROXY_PASSWORD="password"
|
||
|
|
||
|
Alternatively, you can set those environment variables before starting
|
||
|
Vim.
|
||
|
|
||
|
|
||
|
3. Twitter SSL via Ruby interface *TwitVim-ssl-ruby*
|
||
|
|
||
|
To use SSL via Ruby, you need to install the SSL libraries and an
|
||
|
SSL-enabled build of Ruby.
|
||
|
|
||
|
If Ruby produces the error "`write': Bad file descriptor" in http.rb,
|
||
|
then you need to check your certificates or override certificate
|
||
|
checking. See |twitvim_cert_insecure|.
|
||
|
|
||
|
Set twitvim_proxy and twitvim_proxy_login as usual if using Twitter
|
||
|
SSL over a proxy.
|
||
|
|
||
|
|
||
|
4. Twitter SSL via Python interface *TwitVim-ssl-python*
|
||
|
|
||
|
To use SSL via Python, you need to install the SSL libraries and an
|
||
|
SSL-enabled build of Python.
|
||
|
|
||
|
The Python interface does not yet support Twitter SSL over a proxy.
|
||
|
This is due to a missing feature in urllib2.
|
||
|
|
||
|
|
||
|
5. Twitter SSL via TCL interface
|
||
|
|
||
|
I do not know how to make this work with Twitter SSL yet. If you
|
||
|
succeed, let me know what you did.
|
||
|
|
||
|
|
||
|
==============================================================================
|
||
|
4. TwitVim Manual *TwitVim-manual*
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
4.1. Update Commands *TwitVim-update-commands*
|
||
|
|
||
|
These commands post an update to your Twitter account. If the friends,
|
||
|
user, or public timeline is visible, TwitVim will insert the update
|
||
|
into the timeline view after posting it.
|
||
|
|
||
|
:PosttoTwitter *:PosttoTwitter*
|
||
|
|
||
|
This command will prompt you for a message and post it to Twitter.
|
||
|
|
||
|
:CPosttoTwitter *:CPosttoTwitter*
|
||
|
|
||
|
This command posts the current line in the current buffer to Twitter.
|
||
|
|
||
|
:BPosttoTwitter *:BPosttoTwitter*
|
||
|
|
||
|
This command posts the contents of the current buffer to Twitter.
|
||
|
|
||
|
:SendDMTwitter {username} *:SendDMTwitter*
|
||
|
|
||
|
This command will prompt you for a direct message to send to user
|
||
|
{username}.
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
4.2. Timeline Commands *TwitVim-timeline-commands*
|
||
|
|
||
|
These commands retrieve a Twitter timeline and display it in a special
|
||
|
Twitter buffer. TwitVim applies syntax highlighting to highlight
|
||
|
certain elements in the timeline view. See |TwitVim-highlight| for a
|
||
|
list of highlighting groups it uses.
|
||
|
|
||
|
|
||
|
:[count]UserTwitter *:UserTwitter*
|
||
|
:[count]UserTwitter {username}
|
||
|
|
||
|
This command displays your Twitter timeline.
|
||
|
|
||
|
If you specify a {username}, this command displays the timeline for
|
||
|
that user.
|
||
|
|
||
|
If you specify [count], that number is used as the page number. For
|
||
|
example, :2UserTwitter displays the second page from your user
|
||
|
timeline.
|
||
|
|
||
|
*twitvim_count*
|
||
|
You can configure the number of tweets returned by :UserTwitter by
|
||
|
setting twitvim_count. For example,
|
||
|
|
||
|
let twitvim_count = 50
|
||
|
|
||
|
will make :UserTwitter return 50 tweets instead of the default of 20.
|
||
|
You can set twitvim_count to any integer from 1 to 200.
|
||
|
|
||
|
|
||
|
:[count]FriendsTwitter *:FriendsTwitter*
|
||
|
:[count]FriendsTwitter {username}
|
||
|
|
||
|
This command displays your Twitter timeline with updates from friends
|
||
|
merged in.
|
||
|
|
||
|
If you specify a {username}, this command displays the friends
|
||
|
timeline for that user. Note: Twitter has disabled this API feature.
|
||
|
|
||
|
If you specify [count], that number is used as the page number. For
|
||
|
example, :2FriendsTwitter displays the second page from your friends
|
||
|
timeline.
|
||
|
|
||
|
You can configure the number of tweets returned by :FriendsTwitter by
|
||
|
setting |twitvim_count|.
|
||
|
|
||
|
|
||
|
:[count]RepliesTwitter *:RepliesTwitter*
|
||
|
|
||
|
This command displays a timeline of @-replies that you've received
|
||
|
from other Twitter users.
|
||
|
|
||
|
If you specify [count], that number is used as the page number. For
|
||
|
example, :2RepliesTwitter displays the second page from your replies
|
||
|
timeline.
|
||
|
|
||
|
|
||
|
:PublicTwitter *:PublicTwitter*
|
||
|
|
||
|
This command displays the public timeline.
|
||
|
|
||
|
|
||
|
:[count]DMTwitter *:DMTwitter*
|
||
|
|
||
|
This command displays direct messages that you've received.
|
||
|
|
||
|
If you specify [count], that number is used as the page number. For
|
||
|
example, :2DMTwitter displays the second page from your direct
|
||
|
messages timeline.
|
||
|
|
||
|
|
||
|
:[count]DMSentTwitter *:DMSentTwitter*
|
||
|
|
||
|
This command displays direct messages that you've sent.
|
||
|
|
||
|
If you specify [count], that number is used as the page number. For
|
||
|
example, :2DMSentTwitter displays the second page from your direct
|
||
|
messages sent timeline.
|
||
|
|
||
|
|
||
|
:BackTwitter *:BackTwitter*
|
||
|
|
||
|
This command takes you back to the previous timeline in the timeline
|
||
|
stack. TwitVim saves a limited number of timelines. This command
|
||
|
will display a warning if you attempt to go beyond the oldest saved
|
||
|
timeline.
|
||
|
|
||
|
|
||
|
:ForwardTwitter *:ForwardTwitter*
|
||
|
|
||
|
This command takes you to the next timeline in the timeline stack.
|
||
|
It will display a warning if you attempt to go past the newest saved
|
||
|
timeline so this command can only be used after :BackTwitter.
|
||
|
|
||
|
|
||
|
:RefreshTwitter *:RefreshTwitter*
|
||
|
|
||
|
This command refreshes the timeline.
|
||
|
|
||
|
|
||
|
:NextTwitter *:NextTwitter*
|
||
|
|
||
|
This command loads the next (older) page in the timeline.
|
||
|
|
||
|
|
||
|
:PreviousTwitter *:PreviousTwitter*
|
||
|
|
||
|
This command loads the previous (newer) page in the timeline. If the
|
||
|
timeline is on the first page, it issues a warning and doesn't do
|
||
|
anything.
|
||
|
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
4.3. Mappings *TwitVim-mappings*
|
||
|
|
||
|
Alt-T *TwitVim-A-t*
|
||
|
Ctrl-T *TwitVim-C-t*
|
||
|
|
||
|
In visual mode, Alt-T posts the highlighted text to Twitter.
|
||
|
|
||
|
Ctrl-T is an alternative to the Alt-T mapping. If the menu bar is
|
||
|
enabled, Alt-T pulls down the Tools menu. So use Ctrl-T instead.
|
||
|
|
||
|
|
||
|
*TwitVim-reply*
|
||
|
Alt-R *TwitVim-A-r*
|
||
|
<Leader>r *TwitVim-Leader-r*
|
||
|
|
||
|
This mapping is local to the timeline buffer. In the timeline buffer,
|
||
|
it starts composing an @-reply on the command line to the author of
|
||
|
the tweet on the current line.
|
||
|
|
||
|
Under Cygwin, Alt-R is not recognized so you can use <Leader>r as an
|
||
|
alternative. The <Leader> character defaults to \ (backslash) but see
|
||
|
|mapleader| for information on customizing that.
|
||
|
|
||
|
|
||
|
*TwitVim-retweet*
|
||
|
<Leader>R *TwitVim-Leader-S-r*
|
||
|
|
||
|
This mapping (Note: uppercase 'R' instead of 'r'.) is local to the
|
||
|
timeline buffer. It is similar to the retweet feature in popular
|
||
|
Twitter clients. In the timeline buffer, it sends the current line to
|
||
|
the command line so that you can repost this line as a new tweet.
|
||
|
|
||
|
*twitvim_retweet_format*
|
||
|
By default, TwitVim retweets tweets in the following format:
|
||
|
|
||
|
Retweeting @user: text of the tweet
|
||
|
|
||
|
You can customize the retweet format by adding the following to your
|
||
|
vimrc, for example:
|
||
|
|
||
|
let twitvim_retweet_format = 'Retweet from %s: %t'
|
||
|
|
||
|
or:
|
||
|
|
||
|
let twitvim_retweet_format = '%t (retweeted from %s)'
|
||
|
|
||
|
When you retweet a tweet, TwitVim will replace "%s" in
|
||
|
twitvim_retweet_format with the user name of the original poster and
|
||
|
"%t" with the text of the tweet.
|
||
|
|
||
|
The default setting of twitvim_retweet_format is "Retweeting %s: %t"
|
||
|
|
||
|
|
||
|
*TwitVim-direct-message*
|
||
|
Alt-D *TwitVim-A-d*
|
||
|
<Leader>d *TwitVim-Leader-d*
|
||
|
|
||
|
This mapping is local to the timeline buffer. In the timeline buffer,
|
||
|
it starts composing a direct message on the command line to the author
|
||
|
of the tweet on the current line.
|
||
|
|
||
|
Under Cygwin, Alt-D is not recognized so you can use <Leader>d as an
|
||
|
alternative. The <Leader> character defaults to \ (backslash) but see
|
||
|
|mapleader| for information on customizing that.
|
||
|
|
||
|
|
||
|
*TwitVim-goto*
|
||
|
Alt-G *TwitVim-A-g*
|
||
|
<Leader>g *TwitVim-Leader-g*
|
||
|
|
||
|
This mapping is local to the timeline and user profile buffers. It
|
||
|
launches the web browser with the URL at the cursor position. If you
|
||
|
visually select text before invoking this mapping, it launches the web
|
||
|
browser with the selected text as is.
|
||
|
|
||
|
As a special case, if the cursor is on a word of the form @user or
|
||
|
user:, TwitVim will display that user's timeline in the timeline
|
||
|
buffer. This will not launch the web browser.
|
||
|
|
||
|
In addition, if the cursor is on a word of the form #hashtag, TwitVim
|
||
|
will do a Twitter Search for that #hashtag. This too will not launch
|
||
|
the web browser.
|
||
|
|
||
|
*twitvim_browser_cmd*
|
||
|
Before using this command, you need to tell TwitVim how to launch your
|
||
|
browser. For example, you can add the following to your vimrc:
|
||
|
|
||
|
let twitvim_browser_cmd = 'firefox.exe'
|
||
|
|
||
|
Of course, replace firefox.exe with the browser of your choice.
|
||
|
|
||
|
|
||
|
*TwitVim-LongURL*
|
||
|
<Leader>e *TwitVim-Leader-e*
|
||
|
|
||
|
This mapping is local to the timeline and user profile buffers. It
|
||
|
calls the LongURL API (see http://longurl.org/) to expand the short
|
||
|
URL at the cursor position. A short URL is a URL from a URL shortening
|
||
|
service such as TinyURL, SnipURL, etc. Use this feature if you wish to
|
||
|
preview a URL before browsing to it with |TwitVim-goto|.
|
||
|
|
||
|
If you visually select text before invoking this mapping, it calls the
|
||
|
LongURL API with the selected text as is.
|
||
|
|
||
|
If successful, TwitVim will display the result from LongURL in the
|
||
|
message area.
|
||
|
|
||
|
|
||
|
*TwitVim-profile*
|
||
|
<Leader>p *TwitVim-Leader-p*
|
||
|
|
||
|
This mapping is local to the timeline and user profile buffers. It
|
||
|
calls the Twitter API to retrieve user profile information (e.g. name,
|
||
|
location, bio, update count) for the user name at the cursor position.
|
||
|
It displays the information in a user profile buffer.
|
||
|
|
||
|
If you visually select text before invoking this mapping, it uses the
|
||
|
selected text as is for the user name.
|
||
|
|
||
|
See also |:ProfileTwitter|.
|
||
|
|
||
|
|
||
|
*TwitVim-inreplyto*
|
||
|
<Leader>@ *TwitVim-Leader-@*
|
||
|
|
||
|
This mapping is local to the timeline buffer. If the current line is
|
||
|
an @-reply tweet, it calls the Twitter API to retrieve the tweet to
|
||
|
which this one is replying. Then it will display that predecessor
|
||
|
tweet below the current one.
|
||
|
|
||
|
If there is no in-reply-to information, it will show a warning and do
|
||
|
nothing.
|
||
|
|
||
|
This mapping is useful in the replies timeline. See |:RepliesTwitter|.
|
||
|
|
||
|
|
||
|
*TwitVim-delete*
|
||
|
<Leader>X *TwitVim-Leader-X*
|
||
|
|
||
|
This mapping is local to the timeline buffer. The 'X' in the mapping
|
||
|
is uppercase. It calls the Twitter API to delete the tweet or message
|
||
|
on the current line.
|
||
|
|
||
|
Note: You have to be the author of the tweet in order to delete it.
|
||
|
You can delete direct messages that you sent or received.
|
||
|
|
||
|
|
||
|
Ctrl-O *TwitVim-C-o*
|
||
|
|
||
|
This mapping takes you to the previous timeline in the timeline stack.
|
||
|
See |:BackTwitter|.
|
||
|
|
||
|
Ctrl-I *TwitVim-C-i*
|
||
|
|
||
|
This mapping takes you to the next timeline in the timeline stack.
|
||
|
See |:ForwardTwitter|.
|
||
|
|
||
|
|
||
|
*TwitVim-refresh*
|
||
|
<Leader><Leader> *TwitVim-Leader-Leader*
|
||
|
|
||
|
This mapping refreshes the timeline. See |:RefreshTwitter|.
|
||
|
|
||
|
|
||
|
*TwitVim-next*
|
||
|
Ctrl-PageDown *TwitVim-C-PageDown*
|
||
|
|
||
|
This mapping loads the next (older) page in the timeline.
|
||
|
See |:NextTwitter|.
|
||
|
|
||
|
|
||
|
*TwitVim-previous*
|
||
|
Ctrl-PageUp *TwitVim-C-PageUp*
|
||
|
|
||
|
This command loads the previous (newer) page in the timeline. If the
|
||
|
timeline is on the first page, it issues a warning and doesn't do
|
||
|
anything. See |:PreviousTwitter|.
|
||
|
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
4.4. Utility Commands *TwitVim-utility*
|
||
|
|
||
|
:Tweetburner *:Tweetburner*
|
||
|
:Tweetburner {url}
|
||
|
|
||
|
Tweetburner is a URL forwarding and shortening service. See
|
||
|
http://tweetburner.com/
|
||
|
|
||
|
This command calls the Tweetburner API to get a short URL in place of
|
||
|
<url>. If {url} is not provided on the command line, the command will
|
||
|
prompt you to enter a URL. The short URL is then inserted into the
|
||
|
current buffer at the current position.
|
||
|
|
||
|
:ATweetburner *:ATweetburner*
|
||
|
:ATweetburner {url}
|
||
|
|
||
|
Same as :Tweetburner but appends, i.e. inserts after the current
|
||
|
position instead of at the current position, the short URL instead.
|
||
|
|
||
|
:PTweetburner *:PTweetburner*
|
||
|
:PTweetburner {url}
|
||
|
|
||
|
Same as :Tweetburner but prompts for a tweet on the command line with
|
||
|
the short URL already inserted.
|
||
|
|
||
|
|
||
|
:Snipurl *:Snipurl*
|
||
|
:Snipurl {url}
|
||
|
|
||
|
SnipURL is a URL forwarding and shortening service. See
|
||
|
http://www.snipurl.com/
|
||
|
|
||
|
This command calls the SnipURL API to get a short URL in place of
|
||
|
<url>. If {url} is not provided on the command line, the command will
|
||
|
prompt you to enter a URL. The short URL is then inserted into the
|
||
|
current buffer at the current position.
|
||
|
|
||
|
:ASnipurl *:ASnipurl*
|
||
|
:ASnipurl {url}
|
||
|
|
||
|
Same as :Snipurl but appends, i.e. inserts after the current
|
||
|
position instead of at the current position, the short URL instead.
|
||
|
|
||
|
:PSnipurl *:PSnipurl*
|
||
|
:PSnipurl {url}
|
||
|
|
||
|
Same as :Snipurl but prompts for a tweet on the command line with
|
||
|
the short URL already inserted.
|
||
|
|
||
|
|
||
|
:Metamark *:Metamark*
|
||
|
:Metamark {url}
|
||
|
|
||
|
Metamark is a URL forwarding and shortening service. See
|
||
|
http://metamark.net/
|
||
|
|
||
|
This command calls the Metamark API to get a short URL in place of
|
||
|
<url>. If {url} is not provided on the command line, the command will
|
||
|
prompt you to enter a URL. The short URL is then inserted into the
|
||
|
current buffer at the current position.
|
||
|
|
||
|
:AMetamark *:AMetamark*
|
||
|
:AMetamark {url}
|
||
|
|
||
|
Same as :Metamark but appends, i.e. inserts after the current
|
||
|
position instead of at the current position, the short URL instead.
|
||
|
|
||
|
:PMetamark *:PMetamark*
|
||
|
:PMetamark {url}
|
||
|
|
||
|
Same as :Metamark but prompts for a tweet on the command line with
|
||
|
the short URL already inserted.
|
||
|
|
||
|
|
||
|
:TinyURL *:TinyURL*
|
||
|
:TinyURL {url}
|
||
|
|
||
|
TinyURL is a URL forwarding and shortening service. See
|
||
|
http://tinyurl.com
|
||
|
|
||
|
This command calls the TinyURL API to get a short URL in place of
|
||
|
<url>. If {url} is not provided on the command line, the command will
|
||
|
prompt you to enter a URL. The short URL is then inserted into the
|
||
|
current buffer at the current position.
|
||
|
|
||
|
:ATinyURL *:ATinyURL*
|
||
|
:ATinyURL {url}
|
||
|
|
||
|
Same as :TinyURL but appends, i.e. inserts after the current
|
||
|
position instead of at the current position, the short URL instead.
|
||
|
|
||
|
:PTinyURL *:PTinyURL*
|
||
|
:PTinyURL {url}
|
||
|
|
||
|
Same as :TinyURL but prompts for a tweet on the command line with
|
||
|
the short URL already inserted.
|
||
|
|
||
|
|
||
|
:BitLy *:BitLy*
|
||
|
:BitLy {url}
|
||
|
|
||
|
bit.ly is a URL forwarding and shortening service. See
|
||
|
http://bit.ly/go
|
||
|
|
||
|
This command calls the bit.ly API to get a short URL in place of
|
||
|
<url>. If {url} is not provided on the command line, the command will
|
||
|
prompt you to enter a URL. The short URL is then inserted into the
|
||
|
current buffer at the current position.
|
||
|
|
||
|
:ABitLy *:ABitLy*
|
||
|
:ABitLy {url}
|
||
|
|
||
|
Same as :BitLy but appends, i.e. inserts after the current
|
||
|
position instead of at the current position, the short URL instead.
|
||
|
|
||
|
:PBitLy *:PBitLy*
|
||
|
:PBitLy {url}
|
||
|
|
||
|
Same as :BitLy but prompts for a tweet on the command line with
|
||
|
the short URL already inserted.
|
||
|
|
||
|
|
||
|
:IsGd *:IsGd*
|
||
|
:IsGd {url}
|
||
|
|
||
|
is.gd is a URL forwarding and shortening service. See
|
||
|
http://is.gd
|
||
|
|
||
|
This command calls the is.gd API to get a short URL in place of <url>.
|
||
|
If {url} is not provided on the command line, the command will prompt
|
||
|
you to enter a URL. The short URL is then inserted into the current
|
||
|
buffer at the current position.
|
||
|
|
||
|
:AIsGd *:AIsGd*
|
||
|
:AIsGd {url}
|
||
|
|
||
|
Same as :IsGd but appends, i.e. inserts after the current position
|
||
|
instead of at the current position, the short URL instead.
|
||
|
|
||
|
:PIsGd *:PIsGd*
|
||
|
:PIsGd {url}
|
||
|
|
||
|
Same as :IsGd but prompts for a tweet on the command line with the
|
||
|
short URL already inserted.
|
||
|
|
||
|
|
||
|
:UrlBorg *:UrlBorg*
|
||
|
:UrlBorg {url}
|
||
|
|
||
|
urlBorg is a URL forwarding and shortening service. See
|
||
|
http://urlborg.com
|
||
|
|
||
|
This command calls the urlBorg API to get a short URL in place of
|
||
|
<url>. If {url} is not provided on the command line, the command will
|
||
|
prompt you to enter a URL. The short URL is then inserted into the
|
||
|
current buffer at the current position.
|
||
|
|
||
|
The urlBorg API requires an API key. A default API key is provided
|
||
|
with TwitVim and no configuration is required. However, if you wish to
|
||
|
supply your own key in order to track your urlBorg history and stats,
|
||
|
visit http://urlborg.com/a/account/ to retrieve your API key and then
|
||
|
add the following to your vimrc:
|
||
|
|
||
|
*twitvim_urlborg_key*
|
||
|
let twitvim_urlborg_key = "12345-6789"
|
||
|
|
||
|
Replace 12345-6789 with your API key.
|
||
|
|
||
|
:AUrlBorg *:AUrlBorg*
|
||
|
:AUrlBorg {url}
|
||
|
|
||
|
Same as :UrlBorg but appends, i.e. inserts after the current position
|
||
|
instead of at the current position, the short URL instead.
|
||
|
|
||
|
:PUrlBorg *:PUrlBorg*
|
||
|
:PUrlBorg {url}
|
||
|
|
||
|
Same as :UrlBorg but prompts for a tweet on the command line with the
|
||
|
short URL already inserted.
|
||
|
|
||
|
|
||
|
:Trim *:Trim*
|
||
|
:Trim {url}
|
||
|
|
||
|
tr.im is a URL forwarding and shortening service. See http://tr.im/
|
||
|
|
||
|
This command calls the tr.im API to get a short URL in place of
|
||
|
<url>. If {url} is not provided on the command line, the command will
|
||
|
prompt you to enter a URL. The short URL is then inserted into the
|
||
|
current buffer at the current position.
|
||
|
|
||
|
If you login to the tr.im API, tr.im will keep track
|
||
|
of URLs that you have shortened. In order to do that, add the
|
||
|
following to your vimrc:
|
||
|
|
||
|
*twitvim_trim_login*
|
||
|
let twitvim_trim_login = "trimuser:trimpassword"
|
||
|
|
||
|
Where trimuser and trimpassword are your tr.im account user name and
|
||
|
password.
|
||
|
|
||
|
You may also specify trimuser:trimpassword as a base64 encoded string:
|
||
|
|
||
|
let twitvim_trim_login = "base64string"
|
||
|
|
||
|
See |TwitVim-login-base64| for information on generating base64
|
||
|
strings.
|
||
|
|
||
|
:ATrim *:ATrim*
|
||
|
:ATrim {url}
|
||
|
|
||
|
Same as :Trim but appends, i.e. inserts after the current position
|
||
|
instead of at the current position, the short URL instead.
|
||
|
|
||
|
:PTrim *:PTrim*
|
||
|
:PTrim {url}
|
||
|
|
||
|
Same as :Trim but prompts for a tweet on the command line with the
|
||
|
short URL already inserted.
|
||
|
|
||
|
|
||
|
:Cligs *:Cligs*
|
||
|
:Cligs {url}
|
||
|
|
||
|
Cligs is a URL forwarding and shortening service. See http://cli.gs/
|
||
|
|
||
|
This command calls the Cligs API to get a short URL in place of
|
||
|
<url>. If {url} is not provided on the command line, the command will
|
||
|
prompt you to enter a URL. The short URL is then inserted into the
|
||
|
current buffer at the current position.
|
||
|
|
||
|
If you supply a Cligs API key, Cligs will keep track of URLs that you
|
||
|
have shortened. In order to do that, add the following to your vimrc:
|
||
|
|
||
|
*twitvim_cligs_key*
|
||
|
let twitvim_cligs_key = "hexstring"
|
||
|
|
||
|
where hexstring is the API key. You can get an API key by registering
|
||
|
for a user account at Cligs and then visiting http://cli.gs/user/api
|
||
|
|
||
|
:ACligs *:ACligs*
|
||
|
:ACligs {url}
|
||
|
|
||
|
Same as :Cligs but appends, i.e. inserts after the current position
|
||
|
instead of at the current position, the short URL instead.
|
||
|
|
||
|
:PCligs *:PCligs*
|
||
|
:PCligs {url}
|
||
|
|
||
|
Same as :Cligs but prompts for a tweet on the command line with the
|
||
|
short URL already inserted.
|
||
|
|
||
|
|
||
|
:[count]SearchTwitter *:SearchTwitter*
|
||
|
:[count]SearchTwitter {query}
|
||
|
|
||
|
This command calls the Twitter Search API to search for {query}. If
|
||
|
{query} is not provided on the command line, the command will prompt
|
||
|
you for it. Search results are then displayed in the timeline buffer.
|
||
|
|
||
|
All of the Twitter Search operators are supported implicitly. See
|
||
|
http://search.twitter.com/operators for a list of search operators.
|
||
|
|
||
|
If you specify [count], that number is used as the page number. For
|
||
|
example, :2SearchTwitter hello displays the second page of search
|
||
|
results for the word hello.
|
||
|
|
||
|
You can configure the number of tweets returned by :SearchTwitter by
|
||
|
setting |twitvim_count|.
|
||
|
|
||
|
|
||
|
:RateLimitTwitter *:RateLimitTwitter*
|
||
|
|
||
|
This command calls the Twitter API to retrieve rate limit information.
|
||
|
It shows the current hourly limit, how many API calls you have
|
||
|
remaining, and when your quota will be reset. You can use it to check
|
||
|
if you have been temporarily locked out of Twitter for hitting the
|
||
|
rate limit. This command does not work on identi.ca.
|
||
|
|
||
|
|
||
|
:ProfileTwitter {username} *:ProfileTwitter*
|
||
|
|
||
|
This command calls the Twitter API to retrieve user profile
|
||
|
information (e.g. name, location, bio, update count) for the specified
|
||
|
user. It displays the information in a user profile buffer.
|
||
|
|
||
|
See also |TwitVim-Leader-p|.
|
||
|
|
||
|
|
||
|
:LocationTwitter {location} *:LocationTwitter*
|
||
|
|
||
|
This command calls the Twitter API to set the location field in your
|
||
|
profile. There is no mandatory format for the location. It could be a
|
||
|
zip code, a town, coordinates, or pretty much anything.
|
||
|
|
||
|
For example:
|
||
|
:LocationTwitter 10027
|
||
|
:LocationTwitter New York, NY, USA
|
||
|
:LocationTwitter 40.811583, -73.954486
|
||
|
|
||
|
|
||
|
==============================================================================
|
||
|
5. Timeline Highlighting *TwitVim-highlight*
|
||
|
|
||
|
TwitVim uses a number of highlighting groups to highlight certain
|
||
|
elements in the Twitter timeline views. See |:highlight| for details
|
||
|
on how to customize these highlighting groups.
|
||
|
|
||
|
twitterUser *hl-twitterUser*
|
||
|
|
||
|
The Twitter user name at the beginning of each line.
|
||
|
|
||
|
twitterTime *hl-twitterTime*
|
||
|
|
||
|
The time a Twitter update was posted.
|
||
|
|
||
|
twitterTitle *hl-twitterTitle*
|
||
|
|
||
|
The header at the top of the timeline view.
|
||
|
|
||
|
twitterLink *hl-twitterLink*
|
||
|
|
||
|
Link URLs and #hashtags in a Twitter status.
|
||
|
|
||
|
twitterReply *hl-twitterReply*
|
||
|
|
||
|
@-reply in a Twitter status.
|
||
|
|
||
|
|
||
|
==============================================================================
|
||
|
6. Tips and Tricks *TwitVim-tips*
|
||
|
|
||
|
Here are a few tips for using TwitVim more efficiently.
|
||
|
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
6.1. Timeline Hotkeys *TwitVim-hotkeys*
|
||
|
|
||
|
TwitVim does not autorefresh. However, you can make refreshing your
|
||
|
timeline easier by mapping keys to the timeline commands. For example,
|
||
|
I use the <F8> key for that:
|
||
|
|
||
|
nnoremap <F8> :FriendsTwitter<cr>
|
||
|
nnoremap <S-F8> :UserTwitter<cr>
|
||
|
nnoremap <A-F8> :RepliesTwitter<cr>
|
||
|
nnoremap <C-F8> :DMTwitter<cr>
|
||
|
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
6.2. Switching between services *TwitVim-switch*
|
||
|
|
||
|
I have user accounts on both Twitter and identi.ca. Here is what I
|
||
|
added to my vimrc to make it easy to switch between the two services
|
||
|
within the same TwitVim session:
|
||
|
|
||
|
function! Switch_to_twitter()
|
||
|
let g:twitvim_api_root = "http://twitter.com"
|
||
|
|
||
|
let g:twitvim_login_b64 = "Twitter Base64 login"
|
||
|
|
||
|
FriendsTwitter
|
||
|
endfunction
|
||
|
|
||
|
function! Switch_to_identica()
|
||
|
let g:twitvim_api_root = "http://identi.ca/api"
|
||
|
|
||
|
let g:twitvim_login_b64 = "identi.ca Base64 login"
|
||
|
|
||
|
FriendsTwitter
|
||
|
endfunction
|
||
|
|
||
|
command! ToTwitter :call Switch_to_twitter()
|
||
|
command! ToIdentica :call Switch_to_identica()
|
||
|
|
||
|
With that in place, I can use :ToTwitter and :ToIdentica to switch
|
||
|
between services. I added a call to FriendsTwitter at the end of each
|
||
|
function so that I'll have a fresh timeline view after switching. You
|
||
|
may also use this technique to switch between different user accounts
|
||
|
on the same service.
|
||
|
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
6.3. Line length in status line *TwitVim-line-length*
|
||
|
|
||
|
Add the following to your |'statusline'| to display the length of the
|
||
|
current line:
|
||
|
|
||
|
%{strlen(getline('.'))}
|
||
|
|
||
|
This is useful if you compose tweets in a separate buffer and post
|
||
|
them with |:CPosttoTwitter|. With the line length in your status line,
|
||
|
you will know when you've reached the 140-character boundary.
|
||
|
|
||
|
==============================================================================
|
||
|
7. TwitVim History *TwitVim-history*
|
||
|
|
||
|
0.4.1 : 2009-03-30 * Fixed a problem with usernames and search terms
|
||
|
that begin with digits.
|
||
|
0.4.0 : 2009-03-09 * Added |:SendDMTwitter| to send direct messages
|
||
|
through API without relying on the "d user ..."
|
||
|
syntax.
|
||
|
* Modified Alt-D mapping in timeline to use
|
||
|
the :SendDMTwitter code.
|
||
|
* Added |:BackTwitter| and |:ForwardTwitter|
|
||
|
commands, Ctrl-O and Ctrl-I mappings to move back
|
||
|
and forth in the timeline stack.
|
||
|
* Improvements in window handling. TwitVim commands
|
||
|
will restore the cursor to the original window
|
||
|
when possible.
|
||
|
* Wrote some notes on using TwitVim with Twitter
|
||
|
SSL API.
|
||
|
* Added mapping to show predecessor tweet for an
|
||
|
@-reply. |TwitVim-inreplyto|
|
||
|
* Added mapping to delete a tweet or message.
|
||
|
|TwitVim-delete|
|
||
|
* Added commands and mappings to refresh the
|
||
|
timeline and load the next or previous page.
|
||
|
|TwitVim-refresh|, |TwitVim-next|,
|
||
|
|TwitVim-previous|.
|
||
|
0.3.5 : 2009-01-30 * Added support for pagination and page length to
|
||
|
:SearchTwitter.
|
||
|
* Shortened default retweet prefix to "RT".
|
||
|
0.3.4 : 2008-11-11 * Added |twitvim_count| option to allow user to
|
||
|
configure the number of tweets returned by
|
||
|
:FriendsTwitter and :UserTwitter.
|
||
|
0.3.3 : 2008-10-06 * Added support for Cligs. |:Cligs|
|
||
|
* Fixed a problem with not being able to unset
|
||
|
the proxy if using Tcl http.
|
||
|
0.3.2 : 2008-09-30 * Added command to display rate limit info.
|
||
|
|:RateLimitTwitter|
|
||
|
* Improved error reporting for :UserTwitter.
|
||
|
* Added command and mapping to display user
|
||
|
profile information. |:ProfileTwitter|
|
||
|
|TwitVim-Leader-p|
|
||
|
* Added command for updating location.
|
||
|
|:LocationTwitter|
|
||
|
* Added support for tr.im. |:Trim|
|
||
|
* Fixed error reporting in Tcl http code.
|
||
|
0.3.1 : 2008-09-18 * Added support for LongURL. |TwitVim-LongURL|
|
||
|
* Added support for posting multibyte/Unicode
|
||
|
tweets in cURL mode.
|
||
|
* Remove newlines from text before retweeting.
|
||
|
0.3.0 : 2008-09-12 * Added support for http networking through Vim's
|
||
|
Perl, Python, Ruby, and Tcl interfaces, as
|
||
|
alternatives to cURL. |TwitVim-non-cURL|
|
||
|
* Removed UrlTea support.
|
||
|
0.2.24 : 2008-08-28 * Added retweet feature. See |TwitVim-retweet|
|
||
|
0.2.23 : 2008-08-25 * Support in_reply_to_status_id parameter.
|
||
|
* Added tip on line length in statusline.
|
||
|
* Report browser launch errors.
|
||
|
* Set syntax highlighting on every timeline refresh.
|
||
|
0.2.22 : 2008-08-13 * Rewrote time conversion code in Vim script
|
||
|
so we don't need Perl or Python any more.
|
||
|
* Do not URL-encode digits 0 to 9.
|
||
|
0.2.21 : 2008-08-12 * Added tips section to documentation.
|
||
|
* Use create_or_reuse instead of create in UrlBorg
|
||
|
API so that it will always generate the same
|
||
|
short URL for the same long URL.
|
||
|
* Added support for highlighting #hashtags and
|
||
|
jumping to Twitter Searches for #hashtags.
|
||
|
* Added Python code to convert Twitter timestamps
|
||
|
to local time and simplify them.
|
||
|
0.2.20 : 2008-07-24 * Switched from Summize to Twitter Search.
|
||
|
|:SearchTwitter|
|
||
|
0.2.19 : 2008-07-23 * Added support for non-Twitter servers
|
||
|
implementing the Twitter API. This is for
|
||
|
identi.ca support. See |twitvim-identi.ca|.
|
||
|
0.2.18 : 2008-07-14 * Added support for urlBorg API. |:UrlBorg|
|
||
|
0.2.17 : 2008-07-11 * Added command to show DM Sent Timeline.
|
||
|
|:DMSentTwitter|
|
||
|
* Added support for pagination in Friends, User,
|
||
|
Replies, DM, and DM Sent timelines.
|
||
|
* Added support for bit.ly API and is.gd API.
|
||
|
|:BitLy| |:IsGd|
|
||
|
0.2.16 : 2008-05-16 * Removed quotes around browser launch URL.
|
||
|
* Escape ! character in browser launch URL.
|
||
|
0.2.15 : 2008-05-13 * Extend :UserTwitter and :FriendsTwitter to show
|
||
|
another user's timeline if argument supplied.
|
||
|
* Extend Alt-G mapping to jump to another user's
|
||
|
timeline if invoked over @user or user:
|
||
|
* Escape special Vim shell characters in URL when
|
||
|
launching web browser.
|
||
|
0.2.14 : 2008-05-12 * Added support for Summize search API.
|
||
|
0.2.13 : 2008-05-07 * Added mappings to launch web browser on URLs in
|
||
|
timeline.
|
||
|
0.2.12 : 2008-05-05 * Allow user to specify Twitter login info and
|
||
|
proxy login info preencoded in base64.
|
||
|
|twitvim_login_b64| |twitvim_proxy_login_b64|
|
||
|
0.2.11 : 2008-05-02 * Scroll to top in timeline window after adding
|
||
|
an update line.
|
||
|
* Add <Leader>r and <Leader>d mappings as
|
||
|
alternative to Alt-R and Alt-D because the
|
||
|
latter are not valid key combos under Cygwin.
|
||
|
0.2.10 : 2008-04-25 * Shortened snipurl.com to snipr.com
|
||
|
* Added support for proxy authentication.
|
||
|
|twitvim_proxy_login|
|
||
|
* Handle Perl module load failure. Not that I
|
||
|
expect those modules to ever be missing.
|
||
|
0.2.9 : 2008-04-23 * Added some status messages.
|
||
|
* Added menu items under Plugin menu.
|
||
|
* Allow Ctrl-T as an alternative to Alt-T to avoid
|
||
|
conflict with the menu bar.
|
||
|
* Added support for UrlTea API.
|
||
|
* Generalize URL encoding to all non-alpha chars.
|
||
|
0.2.8 : 2008-04-22 * Encode URLs sent to URL-shortening services.
|
||
|
0.2.7 : 2008-04-21 * Add support for TinyURL API. |:TinyURL|
|
||
|
* Add quick direct message feature.
|
||
|
|TwitVim-direct-message|
|
||
|
0.2.6 : 2008-04-15 * Delete Twitter buffer to the blackhole register
|
||
|
to avoid stepping on registers unnecessarily.
|
||
|
* Quote login and proxy arguments before sending to
|
||
|
cURL.
|
||
|
* Added support for SnipURL API and Metamark API.
|
||
|
|:Snipurl| |:Metamark|
|
||
|
0.2.5 : 2008-04-14 * Escape the "+" character in sent tweets.
|
||
|
* Added Perl code to convert Twitter timestamps to
|
||
|
local time and simplify them.
|
||
|
* Fix for timestamp highlight when the "|"
|
||
|
character appears in a tweet.
|
||
|
0.2.4 : 2008-04-13 * Use <q-args> in Tweetburner commands.
|
||
|
* Improve XML parsing so that order of elements
|
||
|
does not matter.
|
||
|
* Changed T mapping to Alt-T to avoid overriding
|
||
|
the |T| command.
|
||
|
0.2.3 : 2008-04-12 * Added more Tweetburner commands.
|
||
|
0.2.2 : 2008-04-11 * Added quick reply feature.
|
||
|
* Added Tweetburner support. |:Tweetburner|
|
||
|
* Changed client ident to "from twitvim".
|
||
|
0.2.1 : 2008-04-10 * Bug fix for Chinese characters in timeline.
|
||
|
Thanks to Leiyue.
|
||
|
* Scroll up to newest tweet after refreshing
|
||
|
timeline.
|
||
|
* Changed Twitter window name to avoid unsafe
|
||
|
special characters and clashes with file names.
|
||
|
0.2.0 : 2008-04-09 * Added views for public, friends, user timelines,
|
||
|
replies, and direct messages.
|
||
|
* Automatically insert user's posts into
|
||
|
public, friends, or user timeline, if visible.
|
||
|
* Added syntax highlighting for timeline view.
|
||
|
0.1.2 : 2008-04-03 * Make plugin conform to guidelines in
|
||
|
|write-plugin|.
|
||
|
* Add help documentation.
|
||
|
0.1.1 : 2008-04-01 * Add error reporting for cURL problems.
|
||
|
0.1 : 2008-03-28 * Initial release.
|
||
|
|
||
|
|
||
|
==============================================================================
|
||
|
8. TwitVim Credits *TwitVim-credits*
|
||
|
|
||
|
Thanks to Travis Jeffery, the author of the original VimTwitter script
|
||
|
(vimscript #2124), who came up with the idea of running cURL from Vim
|
||
|
to access the Twitter API.
|
||
|
|
||
|
Techniques for managing the Twitter buffer were adapted from the NERD
|
||
|
Tree plugin (vimscript #1658) by Marty Grenfell.
|
||
|
|
||
|
|
||
|
==============================================================================
|
||
|
vim:tw=78:ts=8:ft=help:norl:
|