simple vim plugin to make http requests from buffers
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
plugin add split direction control Aug 21, 2017
test Merge pull request #3 from shime/feature/MakeHTTPVersionOptional Jan 31, 2019
.gitignore clean up some vagrant Aug 20, 2016
.travis.yml add some tests Aug 20, 2016 update contributing Jan 30, 2019 add contributors guide Jan 30, 2019
Makefile add contributors guide Jan 30, 2019

Build Status Powered by vital.vim


Simple wrapper over curl and http syntax highlighting.



Write a raw http request

Accept: application/json

:Http will execute the request and display the response in a new buffer.

:Http! will execute the request as above and follow any redirects.

:HttpShowCurl displays the curl request that the plugin executes under the hood

:HttpShowRequest displays the internal object representing the request

:HttpClean will add Host and Content-Length headers

:HttpAuth will prompt for authorization credentials


g:vim_http_clean_before_do if set to 1 (default) will clean a request before sending it to curl. Disable this by setting this global to 0

g:vim_http_additional_curl_args can be used to provide additional arguments to curl.

g:vim_http_split_vertically when set to 1 will split the window vertically on response rather than horizontally (the default).

Helper Methods

http#remove_header(header) removes all occurances of the given header in the current buffer.

http#set_header(header, value) sets the header to the given value in the current buffer, removes duplicates

Examples for your vimrc:

function! s:set_json_header() abort
  call http#set_header('Content-Type', 'application/json')

function! s:clean_personal_stuff() abort
  call http#remove_header('Cookie')
  call http#remove_header('Accept')
  call http#remove_header('User-Agent')
  call http#remove_header('Accept-Language')

function! s:add_compression() abort
  call http#set_header('Accept-Encoding', 'deflate, gzip')
  let g:vim_http_additional_curl_args = '--compressed'

command! JSON call s:set_json_header()
command! Anon call s:clean_personal_stuff()
command! Compression call s:add_compression()