Giter Site home page Giter Site logo

gist-vim's Introduction

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 default 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
    

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

  • 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
    
  • Post/Edit with the description " (you need to have opened the gist buffer first). >

      :Gist -s something
      :Gist -e -s something
    
  • 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
    
  • Star the gist (you need to have opened the gist buffer first). Password authentication is needed.

      :Gist +1
    
  • Unstar the gist (you need to have opened the gist buffer first). Password authentication is needed.

      :Gist -1
    
  • 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 everyone's gists.

      :Gist -la
    
  • List gists from your starred gists.

      :Gist -ls
    

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 want your gist to be private by default:

let g:gist_post_private = 1

If you want to manipulate multiple files in a gist:

let g:gist_get_multiplefile = 1

If you want to use on Github Enterprise:

let g:github_api_url = 'http://your-github-enterprise-domain/api/v3'

You need to either set global git config:

$ git config --global github.user Username

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:
    • autoload/gist.vim
    • plugin/gist.vim

If you want to uninstall gist.vim, remember to also remove ~/.gist-vim.

You need to install webapi-vim also:

http://www.vim.org/scripts/script.php?script_id=4019

If you want to use latest one:

https://github.com/mattn/webapi-vim

Install with Vundle

Add the following lines to your .vimrc.

Bundle 'mattn/webapi-vim'
Bundle 'mattn/gist-vim'

Now restart Vim and run :BundleInstall.

Requirements:

Setup:

This plugin uses github API v3. Setting value is stored in ~/.gist-vim. gist-vim have two ways to access APIs.

First, you need to set your Github username in global git config:

$ git config --global github.user Username

Then, gist.vim will ask for your password to create an authorization when you first use it. The password is not stored and only the OAuth access token will be kept for later use. You can revoke the token at any time from the list of "Authorized applications" on Github's "Account Settings" page.

gist-vim's People

Contributors

mattn avatar ad7six avatar kongo2002 avatar weierophinney avatar c9s avatar tyru avatar chibicode avatar graywh avatar baopham avatar c10b10 avatar jmcantrell avatar brandonbloom avatar bbigras avatar barraponto avatar danielb2 avatar ggustafsson avatar netj avatar mutewinter avatar jc00ke avatar kien avatar richardkmichael avatar rndstr avatar crazymaster avatar manboubird avatar ornicar avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.