askfiy/nvim-picgo

github github
media
star 16
stars
alert-circle 0
open issues
users 2
subscribers
git-branch 0
forks
CREATED

2022-04-24

UPDATED

27 days ago


                                     ____  _       ____
                                    |  _ \(_) ___ / ___| ___
                                    | |_) | |/ __| |  _ / _ \
                                    |  __/| | (__| |_| | (_) |
                                    |_|   |_|\___|\____|\___/

                                  · picgo plugin for neovim ·

nvim-picgo is a picture uploading tool based on Lua language. You can quickly upload images to various image beds through it, and it will also generate links in markdown format 🔗. and store it in the clipboard.

In the coc ecosystem, there is a plugin called coc-picgo that does the same thing. The coc-picgo plugin is really enviable for those who use nvim's built-in LSP, because we don't need coc,so I created this project and hope it will help you.

Features

  • Written in pure Lua, less than 300 lines of code
  • No default key bindings, I won't take up your precious keys
  • Quickly upload disk files or clipboard images to the image bed, allowing you to access your images anywhere on the Internet

demo

Upload an image from the clipboard:

Upload an image from the file system:

Dependencies

I recommend you to use neovim-0.7, but in fact neovim-0.5+ can runs it.

Besides that, you need to download picgo-core, which is a command line tool.

This is easy to do under arch:

$ yay -S picgo-core

Configure picgo image bed

First of all, you need to manually fill in your image bed configuration, and enter:

Note, not in neovim's cmd mode

$ picgo set uploader
? Choose a(n) uploader (Use arrow keys)
  smms
❯ tcyun
  github
  qiniu
  imgur
  aliyun
  upyun
(Move up and down to reveal more choices)

Or you can also configure manually:

  • Linux and Mac:~/.config/picgo/config.json
  • Windows:C:\Users\youername\.picgo\config.json

Using plugins

It is recommended to use Packer to manage nvim-picgo:

use {
    "askfiy/nvim-picgo",
    config = function()
        -- it doesn't require you to do any configuration
        require("nvim-picgo").setup()
    end
    }

plugin command

viml:

:UploadClipboard<cr>
:UploadImagefile<cr>

lua:

<cmd>lua require'nvim-picgo'.upload_clipboard()<cr>
<cmd>lua require'nvim-picgo'.upload_imagefile()<cr>