dorkhub

vim-anywhere

Use Vim everywhere you've always wanted to

cknadler
Shell3.8k148 forksMITupdated 3 months ago
git clone https://github.com/cknadler/vim-anywhere.gitcknadler/vim-anywhere

vim-anywhere

CI

Sometimes, you edit text outside of Vim. These are sad times. Enter vim-anywhere!

demo

Once invoked, vim-anywhere will open a buffer. Close it and its contents are copied to your clipboard and your previous application is refocused.

Installation

Requirements

macOS:

  • MacVim (brew install --cask macvim)

Linux:

  • Gnome (or a derivative)
  • gVim

Install

curl -fsSL https://raw.github.com/cknadler/vim-anywhere/master/install | bash

Update

~/.vim-anywhere/update

Uninstall

~/.vim-anywhere/uninstall

Keybinding

macOS: ( default = ctrl+cmd+v )

You can adjust the shortcut via System Settings.

System Settings > Keyboard > Keyboard Shortcuts > Services > Vim Anywhere

Linux: ( default = ctrl+alt+v )

Gnome

$ gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/vim-anywhere/ binding '<Primary><Alt>v'

I3WM

$ echo 'bindsym $mod+Alt+v exec ~/.vim-anywhere/bin/run' >> ~/.i3/config # remember to reload your config after

Adjust in case $mod is not set to ctrl.

History

vim-anywhere creates a temporary file in $TMPDIR/vim-anywhere (macOS) or /tmp/vim-anywhere (Linux) when invoked. These files stick around until you restart your system, giving you a temporary history.

View your history:

$ ls ${TMPDIR:-/tmp}/vim-anywhere

Reopen your most recent file:

$ vim $( ls ${TMPDIR:-/tmp}/vim-anywhere | sort -r | head -n 1 )

Why?

I use Vim for almost everything. I wish I didn't have to say almost. My usual workflow is to open Vim, write, copy the text out of my current buffer and paste it into whatever application I was just using. vim-anywhere attempts to automate this process as much as possible, reducing the friction of using Vim to do more than just edit code.

Bugs

First, make sure to read the FAQ. If you don't find the answer you're looking for there, feel free to open an issue.

Contributing

Pull requests, suggestions and issues of any kind are welcome. Make sure to check out the contribution guidelines before you submit a pull request.

License

MIT.

more like this

vim-dap

Vim/Neovim debugger plugin providing a terminal interface to the Debug Adapter Protocol

Vim Script50

search

search projects, people, and tags