Sometimes, you edit text outside of Vim. These are sad times. Enter vim-anywhere!
Once invoked, vim-anywhere will open a buffer. Close it and its contents are copied to your clipboard and your previous application is refocused.
OSX:
- MacVim (
brew install --cask macvim
)
Linux:
- Gnome (or a derivative)
- gVim
curl -fsSL https://raw.github.com/cknadler/vim-anywhere/master/install | bash
~/.vim-anywhere/update
~/.vim-anywhere/uninstall
-v
- Verbose. Echo of every command in the script.
-c
- Clipboard. Pre-populate Vim with the current clipboard contents.
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.
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 )
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.
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.
MIT.