Skip to content

cknadler/vim-anywhere

Repository files navigation

vim-anywhere

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

OSX:

  • 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

OSX: ( default = ctrl+cmd+v )

You can adjust the shortcut via system preferences.

System Preferences > Keyboard > Shortcuts > Services > Vim Anywhere

Linux: ( default = ctrl+alt+v )

Gnome

$ gconftool -t str --set /desktop/gnome/keybindings/vim-anywhere/binding <custom binding>

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 /tmp/vim-anywhere when invoked. These files stick around until you restart your system, giving you a temporary history.

View your history:

$ ls /tmp/vim-anywhere

Reopen your most recent file:

$ vim $( ls /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.

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.