Skip to content

Instantly share code, notes, and snippets.

@ruanwz
Created May 18, 2011 08:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ruanwz/978230 to your computer and use it in GitHub Desktop.
Save ruanwz/978230 to your computer and use it in GitHub Desktop.

Gist.vim

This is a vimscript for creating gists (http://gist.github.com).

For the latest version please see https://github.com/mattn/gist-vim.

Usage:

  • Post current buffer to gist, using default privacy option.

      :Gist
    
  • Post selected text to gist, using defualt privacy option. This applies to all permutations listed below (except multi).

      :'<,'>Gist
    
  • Create a private gist.

      :Gist -p
    
  • Create a public gist. (Only relevant if you've set gists to be private by default.)

      :Gist -P
    
  • Post whole text to gist as public This is only relevant if you've set gists to be private by default; if you get an empty gist list, try ":Gist --abandon".

      :Gist -P
    
  • Post whole text to gist as public. This is only relevant if you've set gists to be private by default; if you get an empty gist list, try ":Gist --abandon".

      :Gist -P
    
  • Create a gist anonymously.

      :Gist -a
    
  • Create a gist with all open buffers.

      :Gist -m
    
  • Edit the gist (you need to have opened the gist buffer first). You can update the gist with the ":w" command within the gist buffer.

      :Gist -e
    
  • Edit the gist with name 'foo.js' (you need to have opened the gist buffer first).

      :Gist -e foo.js
    
  • Delete the gist (you need to have opened the gist buffer first). Password authentication is needed.

      :Gist -d
    
  • Fork the gist (you need to have opened the gist buffer first). Password authentication is needed.

      :Gist -f
    
  • Get gist XXXXX.

      :Gist XXXXX
    
  • Get gist XXXXX and add to clipboard.

      :Gist -c XXXXX
    
  • List your public gists.

      :Gist -l
    
  • List gists from user "mattn".

      :Gist -l mattn
    
  • List all (public and private) of your gists.

      :Gist -la
    

Tips:

If you set g:gist_clip_command, gist.vim will copy the gist code with option '-c'.

  • Mac:

      let g:gist_clip_command = 'pbcopy'
    
  • Linux:

      let g:gist_clip_command = 'xclip -selection clipboard'
    
  • Others (cygwin?):

      let g:gist_clip_command = 'putclip'
    

If you want to detect filetype from the filename:

let g:gist_detect_filetype = 1

If you want to open browser after the post:

let g:gist_open_browser_after_post = 1

If you want to change the browser:

let g:gist_browser_command = 'w3m %URL%'

or:

let g:gist_browser_command = 'opera %URL% &'

On windows, this should work with your user settings.

If you want to show your private gists with ":Gist -l":

let g:gist_show_privates = 1

If you get problems when creating gists try:

:Gist --abandon

Requirements:

  • curl command (http://curl.haxx.se/)
  • and if you want to use your git profile, the git command-line client.

License:

Copyright 2010 by Yasuhiro Matsumoto
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.

Install:

Copy it to your plugin directory.

gist.vim will create a curl cookie-jar file in your runtimepath.

  • rtp:
    • plugin/gist.vim
    • cookies/github

If you want to uninstall gist.vim, remember to also remove "cookies/github".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment